6

我一直在这里寻找错误,因为单击 HTML 中的重置按钮时无法清除输入#keywordsearch。但是,我找不到任何东西 - 你能看到问题吗?

http://jsfiddle.net/eKWyY/

这是我的 JS:

$('#dirreset').click(function() {
            $('#fatform option').each(function(index) {
                $(this).removeAttr("selected");
            });
            $('#keywordsearch').val('');
        });

感谢您的帮助,这让我有点生气!

大须

4

6 回答 6

5

单击重置按钮,条目将重置为默认值。并且asf是你的默认值,所以它不会清楚,所以改变

<input type="reset" name="osu_directory_search_reset" value="Reset" id="dirreset"> 

<input type="button" name="osu_directory_search_reset" value="Reset" id="dirreset"> 

演示:jsFiddle

于 2013-01-22T09:44:34.140 回答
4

默认 JavaScript重置在您的函数之后被调用.click(),它将输入重置回默认值asf.

如果您想避免执行默认重置功能,请使用 jQueryevent.preventDefault()或更简单地return false;在函数末尾添加一个。例如

$('#dirreset').click(function() {
    $('#keywordsearch').val('');
    return false;
});

或者,将函数的类型更改为<input>不会"button"在您的函数之后执行默认重置功能。但是,如果您想模仿reset ,您可能需要做一些额外的工作。

于 2013-01-22T09:45:25.847 回答
4

单击“重置”按钮后,您的点击事件会执行,但之后它会重置表单。那个时候“asf”将回到输入字段,因为它是初始值。

尝试查看以下内容。

用jquery重置html表单后如何执行代码?

于 2013-01-22T09:49:00.510 回答
0

如果要保留默认值“asf”,则必须将输入类型更改resetbutton

于 2013-01-22T09:44:21.843 回答
0

由于您已asf在清除 value 属性时指定了值,因此您将仅获得默认值。

一个建议是,如果您想向用户显示有关输入的一点提示,您可以使用输入类型的占位符属性。

示例 http://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_input_placeholder

于 2013-01-22T09:46:39.733 回答
0

试试下面的代码它的作品。

演示

$(document).ready(function()
{
    $('#dirreset').click(function()
    {
        $('#fatform option').each(function(index)
        {
             $(this).removeAttr("selected");
        });
        $('#keywordsearch').attr('value','');
    });
});

使用attr.

于 2013-01-22T09:49:16.733 回答