如何自动填充输入文本框值以与名称相同

How would I auto Populate a Input Text Box VALUE to be the same as the NAME?

本文关键字:填充 何自动 输入 文本      更新时间:2023-09-26

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

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

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

但是,我确实在这些代码区域上预先存在样式,以及围绕表单本身的包装器,该包装器可以通过样式或脚本针对其中的特定区域。

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');中的参数

试试这个:

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>