Foros del Web » Programando para Internet » Javascript »

Mi boton enviar no funciona en firefox

Estas en el tema de Mi boton enviar no funciona en firefox en el foro de Javascript en Foros del Web. Hola a todos, tengo un problemilla con mi formulario, funciona estupendamente en todos los navegadores, menos en firefox, no se porque razón esta fallando, no ...
  #1 (permalink)  
Antiguo 09/01/2012, 17:14
Avatar de jose_cuberos  
Fecha de Ingreso: diciembre-2011
Ubicación: Madrid
Mensajes: 74
Antigüedad: 12 años, 4 meses
Puntos: 1
Pregunta Mi boton enviar no funciona en firefox

Hola a todos, tengo un problemilla con mi formulario, funciona estupendamente en todos los navegadores, menos en firefox, no se porque razón esta fallando, no se si es por mi código fuente o por el firefox, falla el boton enviar, el boton borrar fomulario funciona bien, ademas, si no se rellena algun apartado, salta la ventana, pero ni s quiera eso.

Alguien me puede ayudar???

Saludos
  #2 (permalink)  
Antiguo 09/01/2012, 17:23
 
Fecha de Ingreso: mayo-2011
Mensajes: 65
Antigüedad: 12 años, 11 meses
Puntos: 3
Respuesta: Mi boton enviar no funciona en firefox

Si pones el código fuente podremos ver si es problema del código o por el firefox ! La verdad es que de ese error no había sabido nunca, pero quizá viendo el código fuente se aclare algo.
  #3 (permalink)  
Antiguo 09/01/2012, 17:31
Avatar de jose_cuberos  
Fecha de Ingreso: diciembre-2011
Ubicación: Madrid
Mensajes: 74
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Mi boton enviar no funciona en firefox

Que apartado te mando, es muy extenso...

Saludos
  #4 (permalink)  
Antiguo 09/01/2012, 17:52
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Mi boton enviar no funciona en firefox

el html del form al menos

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #5 (permalink)  
Antiguo 10/01/2012, 11:57
Avatar de jose_cuberos  
Fecha de Ingreso: diciembre-2011
Ubicación: Madrid
Mensajes: 74
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Mi boton enviar no funciona en firefox

<form name="formulario" action='<? echo "$PHP_SHELF?op=alta&l=$Licencia" ?>' method="post">
<input type="hidden" name="op" value="alta">
<input type="hidden" name="l" value="<?=$Licencia?>">

<p><label for="nombre"><span class="Estilo1">Nombre:</span></label>
</p>
<input class="obligatorio" type="text" name="Nombre" size="30" maxlength="20" />

<p><label for="apellidos"><span class="Estilo1">Apellidos:</span></label></p>
<input class="obligatorio" type="text" name="Apellidos" size="30" maxlength="20" />

<p><label for="email"><span class="Estilo1">E-mail:</span></label></p>
<input class="obligatorio" type="text" name="Email" size="30" maxlength="30" />

<p><label for="email2"><span class="Estilo1">Confirme su e-mail:</span></label></p>
<input class="obligatorio" type="text" name="Email2" size="30" maxlength="30" />

<!--
<table>
<tr>
<td><font size="3" color="#102F65">Codigo Postal:</font></td>
</tr>
<tr>
<td><font size="3" color="#102F65"><input class="obligatorio" type="text" name="codpostal" size="30" maxlength="40"></font></td>
</tr>

<tr>
<td><font size="3" color="#102F65">Ciudad:</font></td>
</tr>
<tr>
<td><font size="3" color="#102F65"><input class="obligatorio" type="text" name="ciudad" size="30" maxlength="40"></font></td>
</tr>
</table>
-->

<p><label for="pais"><span class="Estilo1">Pais:</span></label></p>
<select name="Pais" type="list" id="Pais" onChange="mostrarProvincia();" class="obligatorio">
<option value="Afganistan">Afganistan</option>
<option value="Zimbabwe">Zimbabwe</option>
</select>

<p><label name="dprovincia1" id="dprovincia1" for="provincia"><span class="Estilo1">Provincia:</span></label></p>

<table>
<tr>
<td name="dprovincia2" id="dprovincia2">
<select name="Provincia" type="list">
<!--<option value="" Selected>Solo para España -->
<option value='ALAVA'>ALAVA
<option value='ALBACETE'>ALBACETE
<option value='ALICANTE'>ALICANTE
<option value='ZARAGOZA'>ZARAGOZA
</select>
</td>
</tr>
</table>

<table>
<p>&nbsp;</p>
<tr>
<td align="center">
<input type="reset" onClick="return confirm('¿estás seguro de que desea restablecer el formulario?')">
<input class="boton" type=button onClick="pregunta()" value="Enviar">
</td>
</tr>
</table>
</form>

Esto es lo que tengo en form, gracias por el interes...

Saludos
  #6 (permalink)  
Antiguo 10/01/2012, 12:02
 
Fecha de Ingreso: mayo-2011
Mensajes: 65
Antigüedad: 12 años, 11 meses
Puntos: 3
Respuesta: Mi boton enviar no funciona en firefox

Cambia el type del input donde está el botón por submit en lugar de button.
Por otra parte, yo he visto poner en lo de form action: $_SERVER['PHP_SELF'], no tengo ni idea de como trabajará metiéndole lo que tú le has escrito pero prueba añadiéndole el resto a ver.

Saludos.
  #7 (permalink)  
Antiguo 10/01/2012, 12:12
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Mi boton enviar no funciona en firefox

Asi como está ningún navegador debería enviarlo, el boton de envío es del tipo button, no submit, podría ser que tu función pregunta() lo envíe usando javascript, pero se desconoce el contenido, si vos decís que así como esta actualmente los demás navegadores lo envían, entonces es un problema entre javascript y el Firefox.
De paso te digo que tu form tiene numerosos errores de html, por último, a no ser que hayas definido $PHP_SELF, el action debería ser
$_SERVER['PHP_SELF']

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #8 (permalink)  
Antiguo 10/01/2012, 12:23
Avatar de jose_cuberos  
Fecha de Ingreso: diciembre-2011
Ubicación: Madrid
Mensajes: 74
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Mi boton enviar no funciona en firefox

Hola, gracias, pero el apartado del boton funciona, pero me envia si haber dejado rellenar el formulario, por lo cual, me sigue fallando, ya que si no rellenan los datos, se enviaran datos en blanco y ademas, pide rectificar los datos que es correcto pero directamente manda los datos, y eso no es lo quiero.

Luego en el apartado de form no logro entender lo que me dices....

Saludos
  #9 (permalink)  
Antiguo 10/01/2012, 12:45
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Mi boton enviar no funciona en firefox

Entonces el problema esta en tu javascript y/o php, un ejemplo de validación muy básica con javascript, debería funcionar asi

Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <title>titulo</title>
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6. <script type="text/javascript">
  7. function validar(){
  8. var camponombre = document.getElementById('nombre').value;
  9. if(camponombre == ""){
  10. alert('falta el nombre');
  11. return false;
  12. }
  13. }
  14. </head>
  15. <div>
  16. <form action="enviar.php" method="post" onsubmit="return validar();">
  17. <p>
  18. <label for="nombre">Nombre</label>
  19. <input type="text" id="nombre" name="nombre" />
  20. <br />
  21. <input type="submit" value="procesar" />
  22. </p>
  23. </form>
  24. </div>
  25. </body>
  26. </html>

con respecto al html del form, me refiero a
cerrar valores de atributos entre comillas
cerrar los options
si asignas for en los labels, hacerlo a un id Existente , pais no es igual a Pais

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #10 (permalink)  
Antiguo 10/01/2012, 13:55
Avatar de jose_cuberos  
Fecha de Ingreso: diciembre-2011
Ubicación: Madrid
Mensajes: 74
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Mi boton enviar no funciona en firefox

Hola emprear, mil gracias por tu interes, pero tengo actualmente estos scripts en head,

<script language="JavaScript">
<!--
function pregunta(){
if(verifica()){
document.formulario.submit()
}
}

function verifica(form) {
var verificado=true;

if(formulario.Nombre.value==""){
alert('Ha olvidado indicar su nombre');
formulario.Nombre.focus();
verificado=false;
return verificado;
}

if(formulario.Apellidos.value==""){
alert('Ha olvidado indicar sus apellidos');
formulario.Apellidos.focus();
verificado=false;
return verificado;
}

if(formulario.Email.value==""){
alert('Ha olvidado indicar su e-mail');
formulario.Email.focus();
verificado=false;
return verificado;
}

if(formulario.Email2.value==""){
alert('Ha olvidado confirmar su e-mail');
formulario.Email2.focus();
verificado=false;
return verificado;
}

if(formulario.Email.value != formulario.Email2.value){
alert('Ha debido de escribir mal su dirección de e-mail, indiquela de nuevo');
formulario.Email.focus();
verificado=false;
return verificado;
}

if(!validarEmail(formulario.Email.value)){
alert("Dirección e-mail incorrecta");
formulario.Email.focus();
verificado=false;
return verificado;
}

return verificado;
}

function validarEmail(email)
{
if(email.length>6){
var Valid1, Valid2, Caracter;
for(var i=0;i<email.length;i++){

Caracter=email.substring(i,i+1);
if(Caracter=="@") Valid1=true;
if (Caracter==".") Valid2=true;
}

if(Valid1&&Valid2) return true;
else return false;
}
else return false;
}

function mostrarProvincia()
{

if (document.getElementById("Pais").options[document.getElementById("Pais").selectedIndex].value != "España")
{
document.getElementById("dprovincia1").style.visib ility='hidden';
document.getElementById("dprovincia2").style.visib ility='hidden';
}
else
{
document.getElementById("dprovincia1").style.visib ility='visible';
document.getElementById("dprovincia2").style.visib ility='visible';
}
}

//-->
</script>

¿Crees que el fallo lo tengo aqui???, mas que en form, yo creo que es asi, ya que con las pistas que me estas dando...

Saludos
  #11 (permalink)  
Antiguo 10/01/2012, 15:33
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Mi boton enviar no funciona en firefox

Orientate con esto, te valido un campo vacio y el email , para el resto la estructura es la misma, si no se cumple la condicion, return false;


Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2.    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. titulo
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6.  
  7. <script language="JavaScript">
  8.  <!--
  9.  
  10. function verifica() {
  11.  
  12. if(document.formulario.Nombre.value==""){
  13. alert('Ha olvidado indicar su nombre');
  14. document.formulario.Nombre.focus();
  15. return false;
  16. }
  17.  
  18. var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
  19. var email_ingresado = document.formulario.Email.value;
  20. if((!emailReg.test(email_ingresado))||(email_ingresado == "")) {
  21. alert('Sintáxis de email erronea');
  22. document.formulario.Email.focus();
  23. return false;
  24. }
  25.  
  26. }// fin verifica
  27.  
  28. //-->
  29.  </script>
  30.  
  31.  
  32. </head>
  33. <form name="formulario" action='algo.php' method="post" onsubmit="return verifica();">
  34.  <input type="hidden" name="op" value="alta">
  35.  <input type="hidden" name="l" value="<?=$Licencia?>">
  36.  
  37. <p><label for="nombre"><span class="Estilo1">Nombre:</span></label>
  38.  </p>
  39.  <input class="obligatorio" type="text" name="Nombre" size="30" maxlength="20" />
  40.  
  41. <p><label for="apellidos"><span class="Estilo1">Apellidos:</span></label></p>
  42. <input class="obligatorio" type="text" name="Apellidos" size="30" maxlength="20" />
  43.  
  44. <p><label for="email"><span class="Estilo1">E-mail:</span></label></p>
  45. <input class="obligatorio" type="text" name="Email" size="30" maxlength="30" />
  46.  
  47. <p><label for="email2"><span class="Estilo1">Confirme su e-mail:</span></label></p>
  48. <input class="obligatorio" type="text" name="Email2" size="30" maxlength="30" />
  49.  
  50. <p><label for="pais"><span class="Estilo1">Pais:</span></label></p>
  51. <select name="Pais" type="list" id="Pais" onChange="mostrarProvincia();" class="obligatorio">
  52. <option value="Afganistan">Afganistan</option>
  53.  <option value="Zimbabwe">Zimbabwe</option>
  54.  </select>
  55.  
  56. <p><label name="dprovincia1" id="dprovincia1" for="provincia"><span class="Estilo1">Provincia:</span></label></p>
  57.  
  58.  <tr>
  59.  <td name="dprovincia2" id="dprovincia2">
  60.  <select name="Provincia" type="list">
  61.  <!--<option value="" Selected>Solo para España -->
  62.  <option value='ALAVA'>ALAVA
  63. <option value='ALBACETE'>ALBACETE
  64. <option value='ALICANTE'>ALICANTE
  65. <option value='ZARAGOZA'>ZARAGOZA
  66.  </select>
  67. </td>
  68.  </tr>
  69.  </table>
  70.  
  71.  <p>&nbsp;</p>
  72.  <tr>
  73.  <td align="center">
  74.  <input type="reset" onClick="return confirm('¿estás seguro de que desea restablecer el formulario?')">
  75. <input type="submit" value="Enviar">
  76. </td>
  77.  </tr>
  78.  </table>
  79.  </form>
  80.  
  81. </body>
  82. </html>

__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #12 (permalink)  
Antiguo 10/01/2012, 16:59
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Mi boton enviar no funciona en firefox

lo he leído por encima.

el envió de los formularios no ha de ser dependiente de javascript
Cita:
document.formulario.submit()
has de usar un botón submit y pasarle la variable "this" que hace referencia al formulario
Cita:
<form name="form1" onsubmit="return fnc(this)">
esto es un sin sentido
Cita:
verificado=false;
return verificado;
ya que es igual a
Cita:
return false
esta función
Cita:
function pregunta(){
if(verifica()){
document.formulario.submit()
}
}
para qué quieres evaluar el return de otra??

y alguna que otra cosa más. te conviene leer el abc de los formularios
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}

Etiquetas: firefox, formulario, botones
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 00:42.