如何自动填充输入文本框VALUE与NAME相同?

时间:2015-03-16 23:27:34

标签: javascript css forms

我正在为一个客户工作,他们需要他们的表单在表单上的文本框内显示一个值,但是由于模块的编码方式,他们的系统无法执行此操作。

最好的方法是什么,因为我无法编辑表单创建模块的源代码,以允许在用户创建表单时自动设置值。

我知道JavaScript有办法可以做到这一点,但大多数我发现需要编辑输入框或在我无法访问的表单上放置样式/属性。

然而,我确实在这些代码区域上预先存在样式以及表单周围的包装器,可以使用样式或脚本来定位其中的特定区域。

2 个答案:

答案 0 :(得分:1)

试试这个:

var inputs = document.getElementById('form').querySelectorAll('input[type="text"]');
[].slice.call(inputs).forEach(function(input) {
    var val = input.name.replace(/_/,' ');
    input.setAttribute('placeholder', val);
    input.value = val;
});
<form id="form">
    <input type="text" name="FIRST_NAME">
    <input type="text" name="LAST_NAME">
</form>

答案 1 :(得分:1)

HTML示例:

<form name="foobar">
    <input name="my_name_1"/>
    <input name="my_name_2"/>
    <input name="my_name_3"/>
</form>

<强> JavaScript的:

function putNamesAsValues(formname){
    var elements = document.forms[formname].elements;
    for(var i=0;i<elements.length;i++)
        if( elements[i].tagName.toLowerCase().indexOf('input') != -1 )
            elements[i].value = elements[i].name;
}
putNamesAsValues('foobar');

<强>用法:

表单nameputNamesAsValues('foobar');

中的参数