【问题标题】:Form reset function returned undefined表单重置函数返回未定义
【发布时间】:2017-02-14 07:41:33
【问题描述】:

我正在尝试通过以下方式重置表单输入:

$("#form_employee_job")[0].reset();

输入仍然填充,控制台返回undefined

我错过了什么?

【问题讨论】:

  • “控制台返回undefined”是什么意思? reset() 不返回任何内容,所以我不确定您希望在这里发生什么
  • 我的意思是浏览器控制台,因为我在浏览器控制台尝试了这段代码,我希望表单输入会被重置,但什么也没发生
  • 在这种情况下,我们需要查看您的表单的 HTML,因为您所拥有的工作绝对正常:jsfiddle.net/eq67q7bz 请编辑您的问题以包含它
  • 如果 "form_employee_job" 是您的表单标签的 id,那么一切都一定没问题。
  • @RoryMcCrossan 这是表单代码,大概360行代码

标签: javascript jquery html forms input


【解决方案1】:

看看这个小提琴https://jsfiddle.net/yn2xeq6z/1/

如果您的表单 ID 是form_employee_job,那么一切都应该按预期工作。表单的所有输入字段都将被清除。

【讨论】:

    【解决方案2】:

    除了您在此处发布的代码之外,您可能还缺少其他内容?

    这是一个有效的jsfiddle,它可能会帮助你。此示例将在您按下按钮时重置表单。

    HTML

    <form id='form_employee_job'>
      <input type='text'/>
    </form>
    <button id="btn">reset</button>
    

    JS

    $(document).ready(function() {
      $("#btn").on("click", function() {
        $("#form_employee_job")[0].reset();
      });
    });
    

    【讨论】:

      【解决方案3】:

      我相信您的表单可能在带有 POST/GET 请求的字段中包含 POST 数据。在这种情况下,表单重置将不起作用。

      我不能 100% 确定这是错误还是它的工作方式。

      如果您以编程方式将某些值关联到输入,它可能无法重置。

      为了实现reset,可以清空表单输入。

      $(':input','#myform')
          .not(':button, :submit, :reset, :hidden')
          .val('')
          .removeAttr('checked')
          .removeAttr('selected');
      

      请看这篇帖子Resetting a multi-stage form with jQuery

      【讨论】:

        猜你喜欢
        • 2013-06-26
        • 2015-12-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-03-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多