1

我想在我的表单中实现 jquery/js,并且我想让输入值动态化。基本上这个想法是,一旦单击该字段的值就会消失/模糊,并且 jquery 期望用户插入一个值,如果设置了一个值并且它与默认值不同,那么就可以了。但如果用户写入的值相同,则不接受并抛出错误,否则如果用户“输入”的值为空,则再次显示默认值。我相信这是有道理的,因为我认为我已经在很多网站上看到了这个功能实现。但我现在是一个 jquery 人,所以我不知道该怎么做。我可以在 php 中做同样的事情,但页面刷新是我想要避免的。所以假设我们有:

<input type="text" value="City" />

非常感谢你,博尔尼。

4

2 回答 2

2

这里这样?

$(document).ready(function() {

    $('input[class="foo"]').attr('value', $(this).attr('placeholder')).focus(function() {
        if ($(this).val('placeholder')) {
            $(this).attr('value', '');
        }
    }).blur(function() {
        if ($(this).val() == '') {
            $(this).attr('value', $(this).attr('placeholder'))
        }
    });
});

编辑:更新代码并修改 Christopher Ramírez 提供的建议

于 2012-06-09T21:57:48.287 回答
1

您想要的称为“占位符”。它们在 Webkit 和 Mozilla 等现代浏览器中实现。我不确定是否新版本的 IE 实现了它们。

input要使用它们,请在元素中声明一个名为placeholder. 像这样:

<input type="text" name="fullname" placeholder="Type your full name" />

作为备份,当placeholder浏览器不支持属性时,此arcicle可能有助于到达您想要的位置

更新:这是我刚刚找到的插件。看起来很容易使用。

于 2012-06-09T21:52:32.560 回答