2013-11-12 3 views
-1

Я пытаюсь отправить форму нажатием кнопки.jQuery submit не вызывается при нажатии кнопки

«предупреждение 1» появляется, но «предупреждение 2» внутри submit() нет. Не могли бы вы рассказать мне, почему?

HTML

<body> 
<form method="post" action=""> 

    <input type=button id="send">SEND</a> 

</form> 
</body> 

JAVASCRIPT

$('body').delegate('#send', 'click', function() { 

    alert('alert 1'); 

    $('form').submit(function (event) { 

     alert('alert 2') 
     event.preventDefault() 

    }); 

}); 

Вот моя скрипка.

http://jsfiddle.net/bvV2W/

+0

Когда вы отправили форму? Пожалуйста, перейдите по ссылке: https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Forms –

+0

Лучше использовать __on__ вместо __delegate__. Как '$ ('body'). On ('click', '#send', function() {' – XIII

ответ

0

проблема заключается в том, что вы не делаете представить, у вас есть только кнопка не кнопка отправки.

ли LIG, что doens't ввести в функцию представить, потому что вы не делают представить событие

попытку изменить кнопку на это:

<input type=submit id="send">SEND</a> 

или попробовать это:

<form method="post" action="" id="form"> 

$('body').delegate('#send', 'click', function() { 
     alert('alert 1'); 
     $('#form').trigger('submit'); 
     $('#form').submit(function (event) { 
       alert('alert 2') 
       event.preventDefault() 

     }); 
    ); 
+0

, почему downvoted, объясните пожалуйста –

+0

Я попробовал это в скрипке. Кажется, что не работает. Http: // jsfiddle .net/bvV2W/2 /. COOLD вы публикуете рабочий скрипт? – Gyonder

+0

Нажмите Tidyup в jsfiddle, есть синтаксическая ошибка! '}' отсутствует проверьте это http://jsfiddle.net/bvV2W/4/ –

-1

потому что таким образом вы подключая функцию к submit события. Он будет поднят, когда вы отправите свою форму, но вы ничего не делаете.

Вы должны вызвать submit события после этого, написав:

$('form').submit(); // no arguments 
Смежные вопросы