Разница в отправке HTML-формы между click (), submit () и ручным щелчком в jquery

У меня есть следующая страница jsp:

<script type="text/javascript" src="/mywebapp/js/jquery.js"></script>
<script type="text/javascript">         
 $( function() {  
  $('#testform').submit(function(){
   alert('now starting submit');
   return true;
  });

  $("#test1btn").click(function(){
   $('#testform #submit').click();    
  }); 
  $("#test2btn").click(function(){
   $('#testform').submit();    
  }); 
 });    
</script>
<form id="testform" method="post"  action="backend/search_test.do">
<input id="reqpagenr" name="reqpagenr" size="10">
<input type="button" id="test1btn"  value="TestClick"/>
<input type="button" id="test2btn"  value="TestSubmit"/>
<input id="submit" type="submit" value="Go">
</form>

Когда я щелкаю вручную (т. е. с помощью мыши ) кнопку «Перейти», форма отправляется после отображения текста «сейчас начинается отправка»; при нажатии кнопки «TestClick» форма успешно отправлена, но текст «сейчас начинается отправка» не появляется; при нажатии кнопка "TestSubmit" появляется текст "теперь начало отправки", но форма вообще не отправлена.

Вопреки моим ожиданиям, кнопки "TestClick" и "TestSubmit" не работают как кнопка "Go" выполняется, когда нажимаются оба. Насколько я понимаю, нажатие трех кнопок должно делать то же самое, то есть отправлять форму после текста "теперь появляется начало отправки ". У меня вопрос, почему результаты трех нажатий кнопок разные?

Я использую jquery 1.3.2

8
задан jscoot 20 January 2011 в 06:47
поделиться