向隐藏的输入标签添加值并提交到表单

Adding value to hidden input tag and submitting to form

本文关键字:提交 表单 添加 隐藏 输入 标签      更新时间:2023-09-26

我有一个显示我的 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">的价值,这让我相信它没有被发布。

您需要为输入命名:

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

请参阅此SO答案:HTML中ID和名称属性之间的区别

您需要向隐藏标签添加名称属性。

名称是您引用它的名称。

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