Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
<;输入类型=";“文本”&燃气轮机;helper(用户键入时淡出文本)javascript_Javascript_Html - Fatal编程技术网

<;输入类型=";“文本”&燃气轮机;helper(用户键入时淡出文本)javascript

<;输入类型=";“文本”&燃气轮机;helper(用户键入时淡出文本)javascript,javascript,html,Javascript,Html,我想在输入字段text和textarea中添加有用的文本(在javascript中,不使用任何框架),类似这样的内容,但不知道它叫什么 因为它在me.com中使用,但我不想提交用作帮助程序的值 对不起,英语不好 谢谢。试试这个: <input type="text" name="member_name" value="Member Name" onFocus="field_focus(this, 'Member Name');" onblur="field_blur(this, 'Mem

我想在输入字段
text
textarea
中添加有用的文本(在javascript中,不使用任何框架),类似这样的内容,但不知道它叫什么

因为它在me.com中使用,但我不想提交用作帮助程序的值

对不起,英语不好

谢谢。

试试这个:

<input type="text" name="member_name" value="Member Name" onFocus="field_focus(this, 'Member Name');" onblur="field_blur(this, 'Member Name');" />

当然,您希望为密码字段创建输入类型密码,因此这对密码文本框没有用处

如果要处理多个字段,也可以将其包装到函数中:

<script type="text/javascript">
  function field_focus(field, text)
  {
    if(field.value == text)
    {
      field.value = '';
    }
  }

  function field_blur(field, text)
  {
    if(field.value == '')
    {
      field.value = text;
    }
  }

</script>

功能字段\焦点(字段、文本)
{
如果(field.value==文本)
{
field.value='';
}
}
函数字段\u模糊(字段、文本)
{
如果(field.value=='')
{
field.value=文本;
}
}

我发现解决这个问题的最佳方法是使用
并将其放置在输入区域上。这将为您提供:

  • 更多的审美自由
  • 保持页面的语义
  • 允许您优雅地降级
  • 将工具提示作为输入值提交不会导致问题,或者必须担心管理该问题
  • 这是一个普通版本,因为你没有要求框架。标记不需要更改,但您可能需要调整CSS以满足您的需要

    HTML:

    如您所见,大约一半的代码被包装在
    窗口的初始化中。onload
    。这可以通过使用框架来缓解。以下是使用jQuery的版本:

    $(function() {
        $("label.magiclabel[for]").each(function(index, label) {
            label = $(label);
            var associated = $("#" + label.attr("for"));
    
            if ( associated.length ) {
                new MagicLabel(label, associated);
            }
        });
    });
    
    var MagicLabel = function(label, input) {
        // If the field has something in it already, hide the label
        if ( input.val() !== "" ) {
            label.addClass("hidden");
        }
    
        label.click(function() { label.addClass("hidden"); });
        input.focus(function() { label.addClass("hidden"); });
        input.blur(function() {
            if ( input.val() === "" ) {
                label.removeClass("hidden");
            }
        });
    };
    
    。标记不需要更改,但您当然需要包括jQuery库。

    最简单的方法:

    <input type=text placeholder="Member name">
    
    
    
    Hello此功能正常,但在提交表单(如可选字段)时,是否可以清除此功能?我们也可以把它包装在函数中吗?因为我有很多输入字段和文本区域,为什么要清除这些文本框?如果您想在提交表单之前清除它们,则这些文本框的任何数据都不会传递到处理脚本。我的意思是,如果这些值是默认值,则清除它们,否则提交它们,我将使用产品说明表单,而不是登录表单,因此有许多选项字段。@Shishant:再次查看我的答案我已修改它。希望对您有所帮助,祝您好运,再见并感谢
    “文档”。
    上述JavaScript中的4行部分不正确<代码>字段。值工作正常。有一个问题,我们可以在不加载的情况下加载它吗?因为我使用这个助手的表单是在ajax的帮助下加载的,并且我已经在加载上使用了一些东西。这是最好和最简洁的答案,但是有一个强烈的警告,即
    占位符
    属性仅在用作页面编码时可用。
    $(function() {
        $("label.magiclabel[for]").each(function(index, label) {
            label = $(label);
            var associated = $("#" + label.attr("for"));
    
            if ( associated.length ) {
                new MagicLabel(label, associated);
            }
        });
    });
    
    var MagicLabel = function(label, input) {
        // If the field has something in it already, hide the label
        if ( input.val() !== "" ) {
            label.addClass("hidden");
        }
    
        label.click(function() { label.addClass("hidden"); });
        input.focus(function() { label.addClass("hidden"); });
        input.blur(function() {
            if ( input.val() === "" ) {
                label.removeClass("hidden");
            }
        });
    };
    
    <input type=text placeholder="Member name">