html提交表单ajax响应

时间:2015-09-13 22:29:21

标签: javascript php ajax codeigniter

我目前正在使用ajax为页面的各个部分在Codeigniter中加载我的页面。

但是,当我在其中一个已加载的表单上按提交时,我不会从中获得响应。 就像从未发过的形式一样。我正在考虑要处理的布局,而是返回相同的布局,就像它没有被处理一样。

如何在加载的表单数据上按下提交按钮时,它将被同一个网址拦截,然后将新响应加载到视图中?

一段代码:

$("form").submit(function() {
    $.post($(this).attr("action"), $(this).serialize(), function(data) {
        $(".main_center").html(data);
    });
    return false; // prevent normal submit
});

一块html:

<form method="POST" action="/crime">
      <input type="hidden" name="crimeinput" id="crimeAction" value="123">
                    <input type="submit" value="do" name="docrime" id="krimsubmit" style="display:none">
</form>

编辑:

在进一步研究之后,似乎只将crimeInput变量发送到服务器,而不是docrime。如何使其能够发送提交名称?

1 个答案:

答案 0 :(得分:1)

根据serialize的文档:

  

注意:只有“成功控件”被序列化为字符串。   由于表单未提交,提交按钮值已序列化   使用按钮。表单元素的值包含在   序列化字符串,该元素必须具有name属性。价值来自   复选框和单选按钮(“radio”或“checkbox”类型的输入)   仅在检查时才包括在内。来自文件选择元素的数据   没有序列化。

因此,如果您希望传递该字段,则必须以不同的方式添加它,可能是另一个隐藏的输入。