我有以下代码。
<script type="text/javascript">
$(document).ready(function () {
$("#submit").click(function (e) {
e.preventDefault();
/* Get some values from elements on the page: */
var values = $(this).serialize();
$.ajax({
url: "submit.php",
type: "post",
data: values
});
$("#dialog").dialog({modal: true, height: 200, width: 300 });
});
});
</script>
<body>
<form id="contactfrm">
<input type="text" name="fullname"/>
<input type="text" name="email"/>
<input type="text" name="phone"/>
<a href="" class="submit" id="submit">submit</a>
</form>
</body>
我使用链接的唯一原因是设计师设计了链接按钮,但无法执行提交按钮。
现在,当我单击按钮时,它会弹出窗口,但它永远不会提交表单。我不明白为什么会发生这种情况?
最佳答案
发生这种情况是因为您使用了e.preventDefault();
,这会阻止您的表单提交。为了提交它,请在代码末尾添加:$( "form").submit();
。
当您调用$.ajax(...)
方法时,将进行异步调用,因此不会提交表单。
另外,请注意,当您调用 $("#dialog").dialog({modal: true, height: 200, width: 300 });
时,它会在 $( "form").submit();
被调用。问题是,我不明白提交表单时打开对话框的原因。
关于javascript - 表单提交后jquery弹出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24741365/