Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/04/2007, 03:49
realxp
 
Fecha de Ingreso: abril-2007
Mensajes: 31
Antigüedad: 17 años
Puntos: 0
Encadenar acciones dentro onSubmit

Pues eso, dentro de onSubmit quiero poner la acción de no dejar el botón enviar activo después del envió del formulario una vez este es valido y se ha enviado, osea, quiero encadenar las acciones y que no se me repita el envió

A parte, porque el script de comprobación del email, si la dirección es buena, no sigue con el resto del script y hace el submit? Que falla en el codigo?

Y otra cosa, el controlador de campo que permite solo numKeys solo me funciona en Explorer, en Firefox y otros no, alguno mas compatible?

Por cierto, para que sirve esta linea de codigo? document.body.style.cursor = "wait";

En head
Cita:
<script language="javascript">
//--No Funciona con Firefox, comprobar una mas compatible.
function SoloNum(form){
var key=window.event.keyCode;//codigo de tecla.
if (key < 48 || key > 57){//si no es numero
window.event.keyCode=1;//anula la entrada de texto.
}
}
function ValidarForm(form) {
if (form.nombre.value == "") {
alert("Debe colocar su Nombre.");
form.nombre.focus();
return false;
}
if (form.apellidos.value == "") {
alert("Debe colocar su Apellido.");
form.apellidos.focus();
return false;
}
if (form.edad.value == "") {
alert("Debes colocar tu edad.");
form.edad.focus();
return false;
}

if (form.pais.value == "") {
alert("Debes escribir tu pais.");
form.pais.focus();
return false;
}
var pos1, pos2, bOk = true;
var semail = form.email.value;
if (semail == ""){
alert("Por favor ingrese su dirección de correo");
form.email.focus();
return false;
}
pos1 = semail.indexOf('@', 0);
pos2 = semail.indexOf('.', 0);
bOk = bOk && (pos1 > 0);
bOk = bOk && (pos2 != -1);
bOk = bOk && (pos1 < pos2 - 1);
bOk = bOk && (pos2 < sDir.length - 1);
if (!bOk){
alert("Dirección de correo inválida");
form.email.focus();
return false;
}
if (form.contraseña.value == "") {
alert("Debe introducir una contraseña.");
form.contraseña.focus();
return false;
}
if (form.contraseña2.value == "") {
alert("Confirma tu contraseña.");
form.contraseña.focus();
return false;
}
if (form.accondiciones.checked)
form.submit()
else
alert("Debes de aceptar las condiciones antes de enviar");
return false;

document.body.style.cursor = "wait";
return true;
}
</script>

En Body
Cita:
<form action="" method="post" name="form" onSubmit="return ValidarContacto(this)" "document.forms[0].enviar.value='Por favor espere un momento';document.forms[0].enviar.disabled=true;" >
<table width="100%" border="0" cellspacing="3px">
<tr>
<td width="50%"><div align="right">Nombre</div></td>
<td width="50%"><div align="left">
<input name="nombre" type="text" class="comentario" id="nombre" size="15" />
</div></td>
</tr>
<tr>
<td><div align="right">Apellidos</div></td>
<td><div align="left">
<input name="apellidos" type="text" class="comentario" id="apellidos" size="15" />
</div></td>
</tr>
<tr>
<td><div align="right">Edad</div></td>
<td><div align="left">
<input name="edad" type="text" class="edad" id="edad" size="5" maxlength="2" />
</div></td>
</tr>
<tr>
<td><div align="right">Pais</div></td>
<td><div align="left">
<input name="pais" type="text" class="comentario" id="pais" size="15" />
</div></td>
</tr>
<tr>
<td><div align="right">E-mail</div></td>
<td><div align="left">
<input name="email" type="text" class="comentario" id="email" size="15" />
</div></td>
</tr>
<tr>
<td><div align="right">Contrase&ntilde;a</div></td>
<td><div align="left">
<input name="contraseña" type="password" class="comentario" id="contrase&ntilde;a" size="15" />
</div></td>
</tr>
<tr>
<td><div align="right">Repetir contrase&ntilde;a </div></td>
<td><div align="left">
<input name="contraseña2" type="password" class="comentario" id="rcontrase&ntilde;a" size="15" />
</div></td>
</tr>
<tr>
<td><div align="center"><span class="Estilo1">He leido las <a href="Index2.html"><u>condiciones</u></a> - </span><span class="Estilo2">Acepto</span>
<input name="accondiciones" type="checkbox" id="aceptarcond" value="checkbox" />
</div></td>
<td>
<div align="left">
<input name="Submit2" type="submit" class="boton_enviar" value="Enviar" />
</div></td>
</tr>
</table>
</form>
Gracias

Última edición por realxp; 05/04/2007 a las 05:01 Razón: Modificacion peticiones