我正在尝试在表单提交之前完成某些事情。以下代码运行没有错误,但我的表单永远不会被提交。我不知道出了什么问题......
<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>
答案 0 :(得分:10)
以使用以下脚本the submit button must NOT have a name
or id
with the value "submit"。像这样的按钮可以工作:
<input class="submitaweber" type="submit" value="Submit" />
$(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();
});
});
答案 1 :(得分:1)
试试这个。它应该工作。
$('#weber-form')。submit(function(e){
e.preventDefault(); // Do something... $('#weber-form').submit();
});
答案 2 :(得分:1)
Joseph the Dreamer 很好地解释了这个问题。
您可以使用HTMLFormElement的原生提交方法来解决问题:
HTMLFormElement.prototype.submit.call($('#weber-form')[0]);