为隐藏的输入标记添加值并提交到表单

时间:2015-01-06 17:44:51

标签: javascript jquery html forms

我有一个显示我的POST数据的测试页面。我正在尝试查看我刚刚提交的帖子,但我无法看到我在表单中添加的payload已添加。

HTML:

  <form id="test-form" action="/test/" method="post"> {# pass data to /test/ URL #}
    <div class="test-button-set">
      <button type="button" id="hdfs-test" class="btn btn-default btn-lg selected">HDFS</button>
      <button type="button" id="hive-test" class="btn btn-default btn-lg">HIVE</button>
      <button type="button" id="hdfs-hive-test" class="btn btn-default btn-lg">BOTH</button>
    </div>
    <button id="submit-test" type="submit" class="btn btn-default btn-lg">Submit</button>
    <input type="hidden" id="payload">
  </form>

JS:

var testData = {
        "timestamp": "",
        "hive": 0,
        "hdfs": 0,
        "beacons":[]
    };

var testRun = document.getElementById("test-form");
    testRun.addEventListener('submit', function(event) {
        event.preventDefault();
        testData["timestamp"] = new Date().getTime();
        console.log(testData);
        var payload = document.getElementById("payload");
        payload.value = testData;
        $(this).trigger('submit', true);
    });

目前,我看不到我给<input type="hidden" id="payload">的价值,这让我相信它没有发布。

2 个答案:

答案 0 :(得分:3)

您需要为输入命名:

<input type="hidden" id="payload" name="payload">

请参阅此答案:Difference between id and name attributes in HTML

答案 1 :(得分:1)

您需要为隐藏标记添加名称属性。

这个名称是你所指的。

<input type="hidden" name="payload" id="payload">