【问题标题】:HTML Form strangely POSTING before I even submitHTML表单在我提交之前就奇怪地发布了
【发布时间】:2021-01-25 14:50:33
【问题描述】:

我有这个 HTML 表单:

  <form id="myForm" type="POST" onclick="addTodo()">
    <fieldset>
      <legend>Company Information</legend>
      <label for="shippingName">Company Name:</label>
      <input type="text" name="company" id="company" /><br />
    </fieldset>
    <br />

    <input type="hidden" name="uniqueid" id="uniqueid">
    <input type="submit" value="Submit" id="form-submit" />
  </form>

当我点击字段输入值时,我的 Airtable DB 会创建行,当我最终提交时,我有 2 行可能 3 行。

这是我的 js 代码:

    function addTodo() {
  dddd = document.getElementById('company').value
  app_id = "app123456789"
  app_key = "key123456789"
  table_id = "Table123456789"
  let data = {
    "records": [
      {
        "fields": {
          "Notes": "Notes",
          "Company Name": dddd
        }
      }
    ]
  };
  let axiosConfig = {
    headers: {
      'Authorization': "Bearer " + app_key,
      'Content-Type': "application/json"
    }
  };
  axios.post("https://api.airtable.com/v0/" + app_id + "/" + table_id, data, axiosConfig)
    .then(resp => console.log(resp))
    .catch(error => console.log(error))
};

我做错了什么?

【问题讨论】:

    标签: javascript html axios airtable


    【解决方案1】:

    我建议您尝试将 onclick 替换为 onsubmit,因为每当您尝试单击表单中的字段时,它都会被触发。

    <form id="myForm" type="POST" onsubmit="addTodo()">
    </form>
    

    【讨论】:

    • 如此简单的改变,却让一切正常XD
    • 它不起作用,没有任何反应。当我返回 onclick 时它可以工作吗?
    • 当我添加一个简单的警报时,它可以工作。那么为什么我发布的脚本没有呢?
    • 你的意思是它不会工作,你在我的编辑中遇到了什么错误?或者在您或我的代码中添加了什么警报?更具体,以便我检查
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-11
    • 1970-01-01
    • 1970-01-01
    • 2017-01-28
    • 1970-01-01
    • 2012-08-31
    相关资源
    最近更新 更多