2010-06-25 13 views
10

tengo el siguiente código HTML:jQuery no presenta una forma

<?xml version="1.0" encoding="utf-8" ?> 

<!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"> 

<head> 
    <title>IT-Services Umfrage - Fragen</title> 

    <link rel="stylesheet" type="text/css" href="/IT/umfrage/../../style.css" /> 
    <link rel="stylesheet" type="text/css" href="/IT/umfrage/css/umfrage.css" /> 

    <script type="text/javascript" src="/IT/umfrage/../../inc/jquery-1.4.2.js"></script> 
    <script type="text/javascript" src="/IT/umfrage/js/umfrage.js"></script> 
</head> 

<body id="page-show"> 
    <div class="ueberschriftsbalken"><span>IT-Services Umfrage - Fragen</span></div> 
    <br /> 
    <div id="content"> 

     <form action="/IT/umfrage/Umfrage/save" method="post" id="umfrageForm"> 
      <div class="frage radio"> 
       <p>1. Wie professionell empfinden Sie das Auftreten der IT-Service Anlaufstelle?</p> 
       <label for="frage1_1"><input type="radio" name="frage1" id="frage1_1" value="1" /> Lausig</label><br /> 
       <label for="frage1_2"><input type="radio" name="frage1" id="frage1_2" value="2" /> Schwach</label><br /> 
       <label for="frage1_3"><input type="radio" name="frage1" id="frage1_3" value="3" /> Durchschnittlich</label><br /> 
       <label for="frage1_4"><input type="radio" name="frage1" id="frage1_4" value="4" /> Gut</label><br /> 
       <label for="frage1_5"><input type="radio" name="frage1" id="frage1_5" value="5" /> Hervorragend</label> 
      </div> 
      <input type="submit" value="Antworten absenden" name="submit" id="submitbutton" /> 
     </form> 
    </div> 
</body> 
</html> 

Al hacer clic en el submitButton o cuando presionando la tecla ENTER, la forma se presentó. Pero cuando intento $('#umfrageForm').submit(), $('form').submit() o algo similar, no pasa nada. En Firebug, la función solo devuelve la ruta DOM al elemento de formulario.

¿Cuál podría ser el problema que impide que se envíe el formulario?

+0

¿Su manejador 'submit' devuelve false o algo? Esto evitará el comportamiento predeterminado, también lo que hace '$ (" form ") [0] .submit();' do? –

+1

cuándo y dónde está disparando el .submit() evento? –

+0

@Luke: ya sea con un evento de clic de botón o desde la consola Firebug JS. –

Respuesta

46

Usted tiene un campo denominado submit , esto anula el método submit del formulario (con una referencia al nodo DOM para el campo) del que jQuery depende en su propio método submit.

Cambie el nombre.

+2

Lo mismo aplica para id = 'submit' – BIOHAZARD

4

creo que el fuego caso presente, antes de DOM se carga realmente, porque si lo intento, este código funciona:

$(document).ready(function(){ 

    // Submit handler, to prove everything works fine 
    $('#umfrageForm').submit(function(){ 
     alert('hi'); 
     return false; 
    }); 

    // Fire the submit event 
    $('#umfrageForm').submit(); // alerts 'hi' 
}); 

Ver: jsFiddle

+0

es más que el hecho de que no está usando la función $ (document) .ready(). +1 – RobertPitt

+0

No, disparé el evento de la consola Firebug JS, por lo que el DOM está listo. –

-1

sí, cuando tiene elementos de entrada con el nombre "enviar", encontrará los $ ('# formID'). Submit() para no comportarse como se espera. Simplemente reemplace el nombre del campo de entrada (puede ser el botón de enviar) a algo más relevante.

Sé que esta publicación es anterior, solo tenía el mismo problema para mí y pensé que debería publicar mis conclusiones.

-1

Tuve una vez un problema similar. Su código debería funcionar si incluye el archivo de script Java como lo muestra. Sin embargo, sospecho que su código es parte de un documento html más grande. El problema surge cuando descarga la parte del cuerpo de su documento html en otro documento html sin incluir las funciones de script Java en el subdocumento (ya que están incluidas en el documento principal). Entonces no funcionará. Debe incluir el archivo de script Java también en el subdocumento.

Cuestiones relacionadas