Foros del Web » Creando para Internet » HTML »

HTML con dos <form>

Estas en el tema de HTML con dos <form> en el foro de HTML en Foros del Web. Buenas. Tengo un fichero html que tiene dos formularios, cada uno de ellos con un submit. El primero realiza una serie de validaciones y el ...
  #1 (permalink)  
Antiguo 13/08/2011, 15:47
 
Fecha de Ingreso: julio-2011
Mensajes: 91
Antigüedad: 12 años, 8 meses
Puntos: 2
HTML con dos <form>

Buenas.
Tengo un fichero html que tiene dos formularios, cada uno de ellos con un submit. El primero realiza una serie de validaciones y el segundo simplemente vuelve a un fichero anterior. En ambos casos vuelven a un fichero php.
Mi problema es que si ejecuto el submit del segundo formulario me está haciendo las validaciones del primero, y mi pregunta es: ¿cuando yo tengo mas de un form en un fichero html, ambos submit son independientes el uno de otro?
Pego el código...

Código:
<table border=3 width=100%>
        <tr>
            <form onsubmit="return validar();"action='anadenuevapregunta.php' method='POST'>
            <td></td><td><input id='pregunta' type='text' size=170 name='descpregunta' onblur="revisarObligatorio(this)"></td>
        </tr>
        <tr>
            <td>Respuesta1:</td><td><input id='respuesta1' type='text' size=170 name='r1' onblur="revisarObligatorio(this)"></td>
            <td><select id='vf1' name='verfal1'>
                <option value=0>Falso</option>
                <option value=1>Verdadero</option>
            </td>
        </tr>
        <tr>
            <td>Respuesta2:</td><td><input id='respuesta2' type='text' size=170 name='r2' onblur="revisarObligatorio(this)"></td>
            <td><select id='vf2' name='verfal2'>
                <option value=0>Falso</option>
                <option value=1>Verdadero</option>
            </td>
         </tr>
         <tr>
            <td>Respuesta3:</td><td><input id='respuesta3' type='text' size=170 name='r3' onblur="revisarObligatorio(this)"></td>
            <td><select id='vf3' name='verfal3'>
                <option value=0>Falso</option>
                <option value=1>Verdadero</option>
            </td>
         </tr>
         <tr>
            <td>Respuesta4:</td><td><input id='respuesta4' type='text' size=170 name='r4' onblur="revisarObligatorio(this)"></td>
            <td><select id='vf4' name='verfal4'>
                <option value=0>Falso</option>
                <option value=1>Verdadero</option>
            </td>
         </tr>
         <tr height=40px>
            <td></td><td align=center><input type='submit' name='enviar' value='Pulsa botón para añadir'></td><td></td>
         </tr>
         <input type='hidden' name='idcurso' value='$idcurso'>
         <input type='hidden' name='idasignatura' value='$idasignatura'>
         <input type='hidden' name='idtema' value='$idtema'>
               
    </table>
    
    <br />
    <div id='volver'>
         <form action='do_temas.php?idcurso=".$idcurso."&idasignatura=".$idasignatura' method='POST'>
         <input type='submit' name='enviar1' value='Volver'>
    </div>
Respecto al código es muy probable que no sea muy académico pero estoy haciendo pruebas y en principio no estoy muy interesado.
Saludos.
  #2 (permalink)  
Antiguo 13/08/2011, 16:39
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: HTML con dos <form>

la idea es que nos muestres la función validar, para ver cual es el error.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 13/08/2011, 16:53
Avatar de ZoroRoronoa  
Fecha de Ingreso: marzo-2011
Ubicación: California, USA
Mensajes: 824
Antigüedad: 13 años
Puntos: 116
Respuesta: HTML con dos <form>

Es decir, tu problema surge, que dando clic en el boton tanto del primero como del segundo formulario, valida el primero.

Esto se debe a que los DOS botones "submit" son propiedad del 1º form.
Y esto sucede por que tu solo tienes un form.

Si te fijas, el primero inicia aqui:
Código HTML:
Ver original
  1. <form onsubmit="return validar();"action='anadenuevapregunta.php' method='POST'>

PERO jamas lo cierras, es por eso tu error.
Saludos.

HAY QUE CERRAR LOS FORMULARIOS, INTENTA ASI:
Código HTML:
Ver original
  1. <table border=3 width=100%>
  2.         <tr>
  3.             <form onsubmit="return validar();"action='anadenuevapregunta.php' method='POST'>
  4.             <td></td><td><input id='pregunta' type='text' size=170 name='descpregunta' onblur="revisarObligatorio(this)"></td>
  5.         </tr>
  6.         <tr>
  7.             <td>Respuesta1:</td><td><input id='respuesta1' type='text' size=170 name='r1' onblur="revisarObligatorio(this)"></td>
  8.             <td><select id='vf1' name='verfal1'>
  9.                 <option value=0>Falso</option>
  10.                 <option value=1>Verdadero</option>
  11.             </td>
  12.         </tr>
  13.         <tr>
  14.             <td>Respuesta2:</td><td><input id='respuesta2' type='text' size=170 name='r2' onblur="revisarObligatorio(this)"></td>
  15.             <td><select id='vf2' name='verfal2'>
  16.                 <option value=0>Falso</option>
  17.                 <option value=1>Verdadero</option>
  18.             </td>
  19.          </tr>
  20.          <tr>
  21.             <td>Respuesta3:</td><td><input id='respuesta3' type='text' size=170 name='r3' onblur="revisarObligatorio(this)"></td>
  22.             <td><select id='vf3' name='verfal3'>
  23.                 <option value=0>Falso</option>
  24.                 <option value=1>Verdadero</option>
  25.             </td>
  26.          </tr>
  27.          <tr>
  28.             <td>Respuesta4:</td><td><input id='respuesta4' type='text' size=170 name='r4' onblur="revisarObligatorio(this)"></td>
  29.             <td><select id='vf4' name='verfal4'>
  30.                 <option value=0>Falso</option>
  31.                 <option value=1>Verdadero</option>
  32.             </td>
  33.          </tr>
  34.          <tr height=40px>
  35.             <td></td><td align=center><input type='submit' name='enviar' value='Pulsa botón para añadir'></td><td></td>
  36.          </tr>
  37.          <input type='hidden' name='idcurso' value='$idcurso'>
  38.          <input type='hidden' name='idasignatura' value='$idasignatura'>
  39.          <input type='hidden' name='idtema' value='$idtema'>
  40.          </form>
  41.                
  42.     </table>
  43.    
  44.     <br />
  45.     <div id='volver'>
  46.          <form action='do_temas.php?idcurso=".$idcurso."&idasignatura=".$idasignatura' method='POST'>
  47.          <input type='submit' name='enviar1' value='Volver'>
  48.          </form>  
  49.   </div>
__________________
Programador jQuery & PHP
  #4 (permalink)  
Antiguo 14/08/2011, 03:11
 
Fecha de Ingreso: julio-2011
Mensajes: 91
Antigüedad: 12 años, 8 meses
Puntos: 2
Respuesta: HTML con dos <form>

Buenos días.
maycolalvarez, no he pegado la función validar porque pensaba que el problema no venía por ahí. Precisamente esa era la incidencia, que en los dos casos llamaba a esta función.
ZoroRoronoa, efectivamente no cerraba los formularios y realmente solo me reconocía uno.
Esta visto que el tiempo en este mundillo se suele perder en cosas que dar por hecho que funcionan.
Muchas gracias a los dos y saludos.

Etiquetas: php, formulario
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:52.