使用jquery重置表单会导致意外的语法错误

时间:2016-12-06 19:36:41

标签: javascript jquery html

我目前正在尝试添加一个可以在点击时清除搜索输入的按钮。



$('.reset-form').click(function({
      $('#input-search').val('');
    });

<div class="search">
  <form>
    <input type="text" class="search" required id="input-search" placeholder="Search">
    <input type="reset" class="reset-form" value="X">
  </form>
</div>
&#13;
&#13;
&#13;

在js的第二行导致Uncaught SyntaxError: Unexpected string尝试在搜索输入文本上设置值。我不能在一个短路中看到任何错误,并希望得到一些指导,说明为什么会出现这个错误。

修改:从.value = '';更正为.val('');并仍然遇到相同的语法错误。

2 个答案:

答案 0 :(得分:1)

替换为

$('.reset-form').click(function({
    $('#input-search').val('');
});

答案 1 :(得分:1)

这里有几个问题。一个是事件处理程序的语法。 click()函数将函数作为参数。那样做:

&#13;
&#13;
$('.reset-form').click(function() {
    $('#input-search').val('');
});
&#13;
<div class="search">
  <form>
    <input type="text" class="search" required id="input-search" placeholder="Search">
    <input type="reset" class="reset-form" value="X">
  </form>
</div>
&#13;
&#13;
&#13;

但是,这只是解决了语法错误。

你应该问自己的真正问题是,&#34;我是否需要这个事件处理程序?&#34;您应用于第二个type="reset"的{​​{1}}应自动清除同一表单中的任何表单元素。因此,在这种情况下,它应该清除id为input的文本字段。这是否适用于您可能拥有的任何其他脚本是一个不同的问题......