如何在不刷新整个页面的情况下提交表单

时间:2014-08-09 19:10:54

标签: jquery html asp.net-mvc form-submit

我已经调查了一段时间,我发现的所有示例都包含文本输入字段和php。

我创建了一个拥有" Like-button"的社区,一次点击显示更高的数字,再次点击它会下降-1,它就像一个魅力。但是我不喜欢刷新部分,它会把一切都弄糟,从顶部开始。

我已尝试过大量的Ajax / Jquery编码,但无法阻止重新加载部分"。 我不知道我是否有任何代码可以发布,因为我从来没有保存任何从不起作用的无价值代码。

但是,表单以这样的方式开始,并包含" submit-image":

@using (Ajax.BeginForm("Like", "Home", FormMethod.Post, null, new { id = "LikeForm" }))
{
...
<input type="image" src="../Images/star.png" name="submit" />
...
}

结果显示在附近。

所有内容都会发送到保存数据库中所有内容的 ActionResult Like()。结果稍后会在视图中显示。我希望那部分没什么不寻常的。

我再一次看了很多例子,没有一个对我有用,我的主要信息页面是http://api.jquery.com/和stackoverflow。在这种情况下没有任何好处。

1 个答案:

答案 0 :(得分:3)

如果您之前尝试使用jQuery,我希望您的代码看起来像这样:

$('#LikeForm').on('submit', function() {
  // do AJAX stuff here
});

这已经足够接近了,只是错过了阻止表单仍以传统方式提交的部分。如果您还没有尝试过,请尝试这样做:

$('#LikeForm').on('submit', function(e) {
  e.preventDefault();
  // do AJAX stuff here
});

它的作用是它阻止了表单元素的默认行为(即,通过页面重新加载来提交自己),并且只是执行AJAX的东西。