javascript – 转换ajax中的传统帖子

假设我有一个表格:

/ something / somewhere动作不返回完整的html页面,而只是一个片段.

我想让提交按钮执行其发布工作,但抓住这篇文章的结果并将其注入DOM中的某个位置.

jQuery提交在表单实际提交之前发生.它如何工作的例子是:

$('#myForm').posted(function(result)
{
    $('#someDiv').html(result);
});

有什么办法吗?

最佳答案
描述

您可以使用jQuery .post()和.serialize()方法.

.post() Load data from the server using a HTTP POST request.

.serialize() Encode a set of form elements as a string for submission.

.preventDefault() If this method is called,the default action of the event will not be triggered. In your case the normal submit.

样品

HTML

jQuery的

$(function() {
  $('#myForm').live('submit',function (e) {
     var form = $(this);
     e.preventDefault();
     $.post(form.attr('action'),form.serialize(),function (result) {
        $('#someDiv').html(result);
     });
  });
});

MVC控制器

public class MyController : Controller
{
    [HttpPost]
    public ActionResult MyActionMethod(FormCollection forms)
    {
        // do something with forms["textField"];
        return Content("

如果你无法让它工作(感谢IE),试试吧

event.preventDefault ? event.preventDefault() : event.returnValue = false;

更多信息

> jQuery.post()
> jQuery.serialize()
> event.preventDefault()

相关文章

1.第一步 设置响应头 header('Access-Control-Allow...
$.inArray()方法介绍 $.inArray()函数用于在数组中搜索指定的...
jquery.serializejson.min.js的妙用 关于这个jquery.seriali...
JS 将form表单数据快速转化为object对象(json对象) jaymou...
jQuery插件之jquery.spinner数字智能增减插件 参考地址:http...