【问题标题】:How would I auto Populate a Input Text Box VALUE to be the same as the NAME?我将如何自动填充输入文本框 VALUE 与名称相同?
【发布时间】:2015-03-16 23:27:34
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: javascript css forms


    【解决方案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');
    

    用法:

    name的形式是putNamesAsValues('foobar');中的参数

    【讨论】:

    • 标记为我正在使用的系统的最佳答案,两个选项都有效
    【解决方案2】:

    试试这个:

    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>

    【讨论】:

    • 两个选项都可以工作,另一个选项更适合我正在使用的系统。感谢您的反馈:D
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-09
    • 1970-01-01
    • 2021-09-24
    • 2012-03-29
    相关资源
    最近更新 更多