-1

我在输入中有一个带有文本提示的表单。我知道如何删除焦点上的文本,但是如果有人在没有输入任何内容的情况下点击它,我该如何将其添加回来?

   <form class="grid"> 
        <section>
            <label id="top">Create New Contact</label>
        </section>
        <section>
            <span class="field"><input type="input" class="regular" id="firtName" value="First Name"></input></span>
        </section>
        <section>
            <span class="field"><input type="input" class="regular" value="Last Name"></input></span>
        </section>
         <section>
            <span class="field"><input type="input" class="regular" value="Salutation"></input></span>
        </section>
        <section>
            <span class="field"><input type="input" class="regular" value="Title"></input></span>
        </section>
        <section>
            <span class="field"><input type="input" class="regular" value="Department"></input></span>
        </section>
        <section>
            <span class="field"><input type="input" class="regular" value="Accountant"></input></span>
        </section>
        <section>
            <div id="lineDiv"></div>
        </section>
        <section>
            <a href="#" class="cancel" data-role="button" data-inline="true" data-mini="true">Cancel</a>

            <a href="#" id="save" data-role="button" data-inline="true"  data-mini="true">Save</a>
        </section>
    </form>

    jQuery('input').focus(function() {
       jQuery(this).val('');
    });
4

2 回答 2

3

你应该使用一个placeholder

<input type="text" placeholder="Im holding its place!" />

但是,如果您不能使用 HTML5,请使用 jQuery.blur()来处理焦点。

jQuery('input').focus(function() {
   jQuery(this).val('');
}).blur(function() {
    if (this.value == '') {
        jQuery(this).val("Nothing entered, back to placeholdering");
    }
});
于 2013-09-10T13:31:34.330 回答
0

如果您不想自己做饭或使用(荒谬的)html5 功能,那么有很多占位符插件。

最简单的手动方法是绑定.focus.blur事件,将placeholder属性与_placeholder每个输入上的属性交换。简单有效。

注意:如果您根本不想使用 html5 placeholder,我不建议您手动进行,因为这意味着您需要使用不同的字体才能使其表现得恰到好处 - 它涉及更多,通常不会值得花时间。

于 2013-09-10T13:32:34.800 回答