我在视图中有这个代码:
<script src="../../Scripts/jquery.form.js" type="text/javascript"></script>
<script src="../../Scripts/jquery-1.5.1.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
$('#myForm').ajaxSubmit();
});
@using (Html.BeginForm("PostData","Home",FormMethod.Post)) {
<input type="text" name="name" />
<input type="submit" value="submit" />
}
然后在控制器中我有这个方法:
[HttpPost]
public void PostData(string name)
{
//do smoething with name
}
问题是我在提交表单时会重定向url / home / PostData。
有人有任何建议吗?
答案 0 :(得分:4)
ajaxSubmit()
立即提交表单。您需要ajaxForm()
才能AJAX化现有表单:
$(document).ready(function () {
$('#myForm').ajaxForm();
});
一旦表单被AJAX化后,您可以稍后使用$('#myForm').ajaxSubmit();
强制提交,或者只需将其留给用户按下提交按钮。
此外,您定义表单的方式似乎没有ID。所以你的$('#myForm')
选择器不太可能返回任何东西。您可能希望为表单指定一个ID:
@using (Html.BeginForm("PostData", "Home", FormMethod.Post, new { id = "myForm" }))
{
<input type="text" name="name" />
<input type="submit" value="submit" />
}
或者如果您不想为表单分配唯一ID,则可以通过调整jQuery选择器来AJAX化当前视图中的所有表单:
$(document).ready(function () {
$('form').ajaxForm();
});