首页 > 解决方案 > 我可以通过隐藏字段传递 JSON 数据吗?

问题描述

我有一个从 for 循环中的 AJAX 响应构建的表单。其中一个变量是一个 JSON 对象,我需要将它与表单字段一起传递到“第 2 步”提交中。我正在使用类似的东西:

for (var i = 0; i < filteredResults.length; i++) {
   var id = filteredResults[i].ID;
   var obj = filteredResults[i].jsonData; //this is the json obj I would like to pass when the form
                                          // is submitted
   var someform = "";
   var someform += "<form id='someform' class='someform' method='post'>";
   // some input fields built from the vars
   // some hidden fields build from the vars
   var someform += "</form>";
   $("#some-div-on-my-page").append(someform);

在表单提交时,.vals 被分配给 vars,但我怎样才能传递 JSON obj 呢?这不是我可以在隐藏字段中传递的东西,对吧?

$(document).on('submit', '#my_form', function(e) {
   e.preventDefault();
   hidden_field1 = $("#hidden_field").val();
   hidden_field2 = $("#hidden_field2").val();
   //----- how can I pass the json obj?
   //----- blah blah blah

标签: javascriptjqueryjson

解决方案


您可以将 JSON 添加到这样的隐藏字段中。

<input type="hidden" value="{"name":"John"}">

推荐阅读