Всем доброго времени суток!
Я не могу понять почему у меня не работает .SUBMIT()???
На сайте jquery.com в описании про .submit() представлен примитивный пример:
1) Форма
<form id="target">
<input type="text" name="text" value="Hello there" />
<input type="submit" name="submitF" value="Go" />
</form>
<div id="other">
Trigger the handler
</div>
2) код JS
$('#target').submit(function() {
alert('Handler for .submit() called.');
return false;
});
$('#other').click(function() {
$('#target').submit();
});
3) после 2-ого чанка кода (...$('#other').click...) дословно наисано:
"After this code executes, clicks on Trigger the handler will also display the message. In addition, the default submit action on the form will be fired, so the form will be submitted."
Т.е. написано, что после того как вы кликните на div OTHER обработчик 1-ого чанка (....$('#target').submit(function()....) выдаст сообщение из алерта, а далее
ВНИМАНИЕ! (то, чего я не понимаю и у меня не получается) написано -
В дополнении, действие по умолчанию (т.е. как я понимаю сам submit формы) сработает, форма будет отправлена!
Моя проблема в том, что после клика на div OTHER обработчик срабатывает, но после alrerta никакого последующего сабмита НЕ ПРОИСХОДИТ!
Приведенный выше код JS я убрал в отдельный файл, его код:
$(function(){
$('#target').submit(function() {
alert('Handler for .submit() called.');
return false;
});
$('#other').click(function() {
$('#target').submit();
});
});
Вопросы:
1) Правильно ли я понимаю, что .submit() без обработчика, это тоже самое, как если бы я кликнул по кнопке submit (ну понятно что без события click)
2) Так должен ли происходить submit формы в случае:
а) по клику на div OTHER?
б) Что для меня более важно, если в данную форму добавить еще один текстовый input и сказать
$('#input').change(function() {
$('#target').submit();
});
должен ли выскочить alert, а ЗАТЕМ! произойти submit формы с учетом того, что в 1-ом чанке стоит:
return false;
???
Использую:
- jquery-1.4.2.min.js
- firefox 3.6.3
- firebug 1.5.4 (кстати, никаких ошибок при клике на div OTHER нет, просто после алерта нет сабмита)
P.S.
Что я изменил из примера jquery.com
- убрал из формы action="destination.html>
- на всякий пожарный, добавил инпутам атрибуты NAME, в т.ч. сабмиту - SUBMITF
Спасибо!