我正在为一个客户工作,他们需要他们的表单在表单上的文本框内显示一个值,但是由于模块的编码方式,他们的系统无法执行此操作。
最好的方法是什么,因为我无法编辑表单创建模块的源代码,以允许在用户创建表单时自动设置值。
我知道JavaScript有办法可以做到这一点,但大多数我发现需要编辑输入框或在我无法访问的表单上放置样式/属性。
然而,我确实在这些代码区域上预先存在样式以及表单周围的包装器,可以使用样式或脚本来定位其中的特定区域。
答案 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');
<强>用法:强>
表单name
是putNamesAsValues('foobar');