我有以下形式:
<form action="myaction" method="post" enctype="multipart/form-data">
<span class="required">*</span>Email</td>
<input type="text" name="email" id="moosendid" />
<input type="submit" id="submit1" value="submit" class="button" />
</form>
和一个JavaScript函数:
function MoosendMail(moomail) {...}
我需要提交以在表单操作之前运行该功能。我尝试了这样的事情:
$(document).ready(function() {
$('input#submit1').on('click',function() {
MoosendMail($('input#moosendid').val());
});
});
没有成功。
有什么想法吗?
您需要使用提交处理程序,然后阻止我相信提交按钮的默认操作。
function MoosendMail(moomail){
alert(moomail);
};
$(document).ready(function() {
$('#form').submit(function(e){
e.preventDefault();
MoosendMail($('input#moosendid').val());
this.submit(); // only after you are done (be careful of async requests) and want to submit.
});
});
我希望这有所帮助。
您在表单上添加了method
键入post
。因此,您需要首先停止提交表单 e.preventDefault()
.试试这个:
$(document).ready(function() {
$('input#submit1').on('click',function(e) {
e.preventDefault();
MoosendMail($('input#moosendid').val());
});
});
function MoosendMail(moomail) {
console.log(moomail);
};
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form action="myaction" method="post" enctype="multipart/form-data">
<span class="required">*</span>Email</td>
<input type="text" name="email" id="moosendid" />
<input type="submit" id="submit1" value="submit" class="button" />
</form>