Foros del Web » Programando para Internet » Javascript »

Fallo en recogida de campos obligatorios

Estas en el tema de Fallo en recogida de campos obligatorios en el foro de Javascript en Foros del Web. Hola. Estoy montando un tpv y todo está casi resuelto salvo la recogida de dos campos: Número de Operación e Importe. Por más que busco ...
  #1 (permalink)  
Antiguo 21/01/2014, 06:48
 
Fecha de Ingreso: noviembre-2005
Mensajes: 889
Antigüedad: 18 años, 5 meses
Puntos: 8
Fallo en recogida de campos obligatorios

Hola.

Estoy montando un tpv y todo está casi resuelto salvo la recogida de dos campos:

Número de Operación e Importe.

Por más que busco el error no soy capaz de ver dónde está el fallo.

Os pongo aquí la página completa para ver a alguien se le ocurre qué es lo que falla. En la página de conexión con el banco aparece un error en que se me indica que "faltan campos", que son precisamente el importe y el número de operación.

Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Credit Card - Payment Form</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
<meta content="MSHTML 6.00.6000.16481" name="GENERATOR"/>


<script type="text/javascript">
<!--
function aceptar(){
/*	var a,b,c;
	a = document.formulariotpv.Num_operacion.value;
	b = document.formulariotpv.Importe.value;



		c = "comercio.php?Num_operacion=";
		c = c + a + "&Importe=" + b;
//	alert(c);
	document.formulariotpv.redirect.value = c;

//	alert(document.formulario.redirect.value);
*/

	document.formulariotpv.submit();
}
function Aleatorio()
	{
    var numero = "" + Math.random();
	if(numero[1] == ".")
		{
		numero = numero.substring(1,numero.length);
		}
	numero = numero.replace (".", "");
	while(numero[0] == "0")
		{
		numero = numero.substring(1,numero.length);
		}
	return(numero)	
	}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
-->
</script>

</head>
<body>
<div id="contenido"> 

  <div id="cuatro">

    <div id="form">
      <form name="formulario" action="http://cgi.thewebsite.com/FormMail.pl" method="post">
        <input type="hidden" value="968" name="Importe"/> 
        <input type="hidden" name="redirect"/> 
        <input type="hidden" value="[email protected]" name="recipient"/> 
        <input type="hidden" value="Purchase Attempt" name="subject"/> 
      <h3>opcion<input type="radio" name="Service Option" value="Opcion" onclick="document.formulario.Importe.value=968;"/></h3>
  
        <div id="fzaq"><p>Processing Operation Code</p><input name="Num_operacion"/></div>
        <div id="controls">
          <div id="fza"><input onclick="Javascript:aceptar()" type="button" value="SUBMIT" name="Send"/></div>
          <div id="fzb"><input type="reset" class="Button" value="ERASE"/></div>
        </div>
      </form>
      <form name="formulariotpv" action="comercio.php" method=post target=_blank">
        <input type="hidden" name="Num_operacion"/> 
        <input type="hidden" name="Importe"/> 
      </form>
    </div>
  </div>
<script type="text/javascript">

var a = Aleatorio();
document.formulario.Num_operacion.value = a;

</script>
</div>
</body>
</html>
El número aleatorio está bien generado, ya que aparece en el campo, pero luego no se incluye en la url de arriba.

Lo mismo con el importe, que no se incluye.

Muchas gracias.

Última edición por JUMASOL; 21/01/2014 a las 09:20
  #2 (permalink)  
Antiguo 21/01/2014, 11:10
 
Fecha de Ingreso: noviembre-2005
Mensajes: 889
Antigüedad: 18 años, 5 meses
Puntos: 8
Respuesta: Fallo en recogida de campos obligatorios

He resuelto el tema del número de operación, que venía dado por una errónea selección del formulario que remite los datos a comercio.php

Código:
<script type="text/javascript">
<!--        
var a = Aleatorio();
document.formulariotpv.Num_operacion.value = a;
-->
</script>
En lugar de

Código:
document.formulario.Num_operacion.value = a;
Pero falta el importe.



Los datos están aquí:

Código:
function aceptar(){
/*	var a,b,c;
	a = document.formulariotpv.Num_operacion.value;
	b = document.formulariotpv.Importe.value;


//		c = "comercio.php?Num_operacion=";
		c = c + a + "&Importe=" + b;
//	alert(c);
	document.formulariotpv.redirect.value = c;

//	alert(document.formulario.redirect.value);
*/

	document.formulariotpv.submit();
}
Y en el campo en sí que da opción a la elección del importe:

Código:
<input type="radio" name="Service Option" value="Opcion" onclick="document.formulario.Importe.value=968;"/>
Lo que no sé es cómo se integra con el formulario que remite tal dato a comercio.php

Última edición por JUMASOL; 21/01/2014 a las 11:28

Etiquetas: campos, fallo, formulario, html, input, php, recogida
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:36.