我正在尝试使用AJAX提交表单以阻止浏览器刷新页面。 表单位于辅助页面内,该页面调用主页面div(类似于使用母版页和内容占位符)。
我一直在尝试几种方法,但我总是遇到同样的问题。每当我尝试提交表单时,响应都是带有表单的辅助页面,我不能将awnser放在主页的内容div中。如希望的那样。
有关如何使这项工作的任何提示?
Main Page
<div id="content"> Secondary page content goes in here loaded using AJAX</div>
Secondary Page
<form runat="server" id="formuser">
<asp:TextBox ID="txtusername" runat="server"></asp:TextBox>
<asp:TextBox ID="txtemail" runat="server"></asp:TextBox>
<a href="#" onclick="document.formuser.submit()"> Submit Form </a>
</form>
我打算做的是提交上面的表格,同时留在主页面并在内容div中显示回复。 我需要将表单设置为runat =“server”,以便我可以使用代码隐藏来操作数据。
答案 0 :(得分:2)
使用一些jquery:
$('#SaveFormButton').click(function (e) {
$.ajax({
type: "POST",
url: $('#FormToSubmit').attr("action"),
data: $('#FormToSubmit').serialize(),
success: function (data) {
//Whatever you want to do after the form has posted
},
error: function(data){
alert("Error");
}
});
});
答案 1 :(得分:0)
这样的事情应该这样做。这样使用e.preventDefault()就可以使用标准表单标记和提交按钮。
答案 2 :(得分:0)
似乎我用于内容加载的方法是构建一个xmlHttpRquest,它与我从jquery获得的响应相冲突。