Я пытаюсь что-то сделать до того, как моя форма отправится. Следующий код выполняется без ошибок, но моя форма никогда не отправляется. Я не могу сказать, что случилось ..
<form method="post" id="weber-form" class="af-form-wrapper" action="http://www.aweber.com/scripts/addlead.pl"> <input class="textInputaweb" type="text" name="email" id="email" size="20" value='Enter Email' onfocus=" if (this.value == 'Enter Email' ) { this.value = ''; }" onblur="if (this.value == '') { this.value='Enter Email';} " /> <input id="submit" name="submit" class="submitaweber" type="submit" value="Submit" /> </form> <script> $(function() { $('#submit').click(function (e) { e.preventDefault(); // Do something... $('#weber-form').submit(); }); } </script>
для работы следующего скрипта, кнопка отправки должна НЕ иметь name или id со значением "submit" .кнопка, подобная этой, будет работать:
name
id
<input class="submitaweber" type="submit" value="Submit" />
Демо: http://jsfiddle.net/MYht8/
$(function() { //we bind to the form instead of the form button //using .on() (jQ1.7+) $('#weber-form').on('submit', function(e) { //prevent form submission e.preventDefault(); //do stuff //use the native submit so we wont trigger //this handler again this.submit(); }); });
Используйте свой код в разделе document.ready(). Я надеюсь, что это будет работать!
document.ready()
$(document).ready(function(){ $('#submit').click(function (e) { e.preventDefault(); // Do something... $('#weber-form').submit(); }); });
Иосиф Мечтатель хорошо объяснил проблему.
Вы можете использовать собственный способ отправки HTMLFormElement для решения проблемы:
HTMLFormElement.prototype.submit.call($('#weber-form')[0]);
Попробуй это. Это должно работать.
$ ('# weber-form'). Submit (function (e) { e.preventDefault(); // Do something... $('#weber-form').submit(); });
$ ('# weber-form'). Submit (function (e) {
e.preventDefault(); // Do something... $('#weber-form').submit();
});