【问题标题】:Add Input Placeholder and assign value from input label添加输入占位符并从输入标签分配值
【发布时间】:2015-05-22 03:01:49
【问题描述】:

我有一个必须使用的表单 - 我无法访问 HTML。我所能做的就是应用 JS/Jquery 和 CSS。

我的问题: 我需要使表单输入在所有浏览器中都具有占位符行为。 警告 - 我需要添加占位符属性,然后从同一输入的标签属性中分配一个值。 (该表单在输入上方也没有字段,并且对 DIV 做了一些愚蠢的事情

这是我必须使用的 HTML:

<input label="First Name" class="textInput defaultText" type="text">

如前所述 - JS/Jquery 和 CSS 都可以。甚至在 IE 的情况下都在寻找最好的方法。

谢谢大家!

【问题讨论】:

    标签: jquery forms input field


    【解决方案1】:

    需要添加占位符属性,然后赋值 来自同一个输入的标签属性。

    尝试使用.attr( attributeName, function ),设置placeholdervalue;返回 label 属性的原始值

    // call `.attr()` with `label` as parameter 
    $(".textInput").attr("label", function(i, attr) {
       // set `placeholder` to `label`:`attr` ,
       // set `value` to `label`
       $(this).attr({
         "placeholder": attr,
         "value": attr
       });
       // return `label` original value
       return attr
    });
    
    console.log($(".textInput")[0].attributes);
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
    </script>
    <input label="First Name" class="textInput defaultText" type="text">

    【讨论】:

    • 这太棒了!但是,请记住,我的几个表单 没有按原样的占位符属性。我需要使用 JS 将 'placeholder=""' 值添加到带有参数的 'fill' 中吗?谢谢!
    • @user3850554 是的。 .textInput class 用作选择器以包含所有 .textInput 元素。 placeholder 属性添加到 $(this).attr({ "placeholder": attr, "value": attr }); ,设置为 label 内的值 .attr("label", fn); 请参阅 .textInput.textInput console 中的设置 attributes
    • ^太棒了,谢谢!我删除了“值”:attr,因为如果提交表单,我不希望加载的值通过。然后我使用条件 IE 语句来显示常规标签 - 因为这在 中不起作用
    猜你喜欢
    • 1970-01-01
    • 2020-08-12
    • 2021-11-24
    • 2016-05-18
    • 1970-01-01
    • 2012-05-07
    • 2019-11-07
    • 1970-01-01
    • 2015-03-20
    相关资源
    最近更新 更多