0

我有两个脚本用于清除表单和使用输入提示。执行 clear 函数后,输入提示没有返回。

function clear_form_elements(ele) {

$(ele).find(':input').each(function() {
switch(this.type) {
    case 'password':
    case 'select-multiple':
    case 'select-one':
    case 'text':
    case 'textarea':
        $(this).val('');
        $("  .bx4a").removeAttr("style");
        $("  .bxTXTa").removeAttr("style");
        $("  .bxTXTa2").removeAttr("style");
        $("  .bx4a2").removeAttr("style");
        $("  .bx").removeAttr("style");
        $("  .ts").removeAttr("style");
        $("  .button-toggle-on").removeAttr("style");
        $("  .gnM").removeAttr("style");
        $("  .gnF").removeAttr("style");
        break;
    case 'checkbox':
    case 'radio':
        this.checked = false;
   }
  });

 }






 // jQuery Input Hints plugin
 // Copyright (c) 2009 Rob Volk
 // http://www.robvolk.com

jQuery.fn.inputHints=function() {
// hides the input display text stored in the title on focus
// and sets it on blur if the user hasn't changed it.

// show the display text
$(this).each(function(i) {
    $(this).val($(this).attr('title'))
        .addClass('hint');
});

// hook up the blur & focus
return $(this).focus(function() {
    if ($(this).val() == $(this).attr('title'))
        $(this).val('')
            .removeClass('hint');
}).blur(function() {
    if ($(this).val() == '')
        $(this).val($(this).attr('title'))
            .addClass('hint');
});
};

$(document).ready(function() {$('input[title],textarea[title]').inputHints();});
4

2 回答 2

0

提示文本的策略非常简单:将输入的默认值设置为您想要的提示文本,然后在获得焦点时将值设置为''。然后onblur,如果值还是'',把值设置为默认值。例如

<label for="userName">Name:<input name="userName" id="userName"
 value="Your full name&hellip;" class="hint"></label>

<script>
function hintFocus() {
  if (this.value == this.defaultValue) this.value = '';
}
function hintBlur(el) {
  if (this.value == '') this.value = this.defaultValue;
}

// Add the listeners
var el = document.getElementById('userName');
el.onfocus = hintFocus;
el.onblur = hintBlur;
</script>

为表单使用标准的重置按钮并为其提供一个侦听器,以便在重置表单时将提示类添加到输入类型 text 和 textarea(视情况而定)。

于 2012-04-14T03:03:41.207 回答
0

我认为 RobG 的答案有一个错误,如果用户输入的文本与提示完全相同(您的全名...),然后单击某处并单击输入,那么用户输入的内容就会消失。

于 2014-04-21T10:24:49.717 回答