【问题标题】:How to pass HTML form array with jquery .post如何使用 jquery .post 传递 HTML 表单数组
【发布时间】:2013-09-12 21:02:17
【问题描述】:

在使用 $.post() 的示例方面需要帮助

多维数组的简化形式:

<form action="save-objectives.php" name="save-objectives-form" id="save-objectives-form">
 <input type="text" name="objective[0][subject]" value="" />
 <input type="text" name="objective[0][detail]" value="" />
 <input type="submit" value="Save" />
</form>

这个数组的名字是“objective”(它是动态生成的,所以“objective”数组可能有很多元素)。我想将整个数组传递给我使用 jquery 的 .post() 方法调用的 PHP 页面。

我可以在其他表单上使用单个值调用 .post 方法。我需要传递整个数组,所以我希望能够访问被调用页面上的该数组,如目标 [0] [主题] 或目标 [39] [详细] 并获取值。

这是我尝试使用帖子的方式

$(document).on('submit', "#save-objectives-form", function(event){
     event.preventDefault();

     var p = $.post("save-objectives.php",  objective:objective);

     p.done(function(data) { ... do other stuff ... } ); 
}); /*end ajax call*/

那么以“var p =”开头的行通过post将数组发送到下一页的语法是什么?我希望能够遍历 save-objectives.php 页面上的表单数组,就好像它是 HTML 中的常规 post 数组一样。

我正在尝试的方法不起作用。我不知道 JSON 是什么,坦率地说,我认为它可能对我正在尝试做的事情有点过头了,所以最好不要使用它。感谢您的观看。

【问题讨论】:

    标签: jquery arrays forms post .post


    【解决方案1】:

    只是序列化表单?

    $(document).on('submit', "#save-objectives-form", function(event){
         event.preventDefault();
         $.post("save-objectives.php",  $(this).serialize()).done(function(data) {
              ... do other stuff ... 
         }); 
    });
    

    【讨论】:

    • 在处理 save-objectives-php 时,我如何访问表单中的值?
    • 就像其他任何形式一样。试试print_r($_POST) 看看你得到了什么。
    • 感谢序列化完成了这项工作,我可以正常访问处理页面上动态创建的表单。
    猜你喜欢
    • 1970-01-01
    • 2012-07-14
    • 1970-01-01
    • 2020-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多