【问题标题】:jQuery won't clear form [duplicate]jQuery不会清除表单[重复]
【发布时间】:2013-12-03 18:34:09
【问题描述】:

我知道这个问题已经被问过很多次了,因为我使用了这个网站的解决方案都无济于事。我目前有这个实现:

$("input:reset").click(function () {
    $('#answer_2').html('License number is not long enough');
    $('#answer_1').html('');
    $('#data_entry').each (function(){
        this.reset();
    });
});

我知道选择器是正确的,因为两个 html 更改(我将它们放入以确认我是正确单击重置按钮的选择器)应该发生。

这是我的表单声明:

<form name="data_entry" id="data_entry" method="post" action="">

问题是我不断收到没有“重置”功能且表单从未清除过的错误。这是我最近尝试在 stackoverflow 网站上对这个问题的回答。请帮忙。

【问题讨论】:

  • 表单上有重复的 ID?
  • 为什么不使用重置按钮和代码到 onreset 事件?
  • @AurelioDeRosa - 我也尝试了那里的方法,但没有奏效。所以,不是重复的。但是,谢谢。
  • @HenryGeiter 不,你试错了。你在 each() 方法中使用了重置,你不应该这样做。
  • @HanletEscaño 这是一个重置按钮 - 这是代码 。没用

标签: javascript php jquery forms


【解决方案1】:

你的each是错误的,没有必要。

$('#data_entry').get(0).reset();

这应该可行,因为您得到了正确的元素,但 $() 返回一个 jQuery 对象,而不是 DOM 元素。 get 将抓取您的 DOM 元素,然后您可以使用 reset()(这不是 jQuery 函数)

【讨论】:

  • 效果很好。这是我的首选答案,尽管上面的@Daryl Gill 也成功了。
【解决方案2】:

为什么要在要清除/清空时重置?

this.empty();

可以解决问题吗?

【讨论】:

    猜你喜欢
    • 2019-03-20
    • 2019-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-24
    • 2011-12-09
    • 1970-01-01
    • 2016-12-23
    相关资源
    最近更新 更多