我使用了以下javascript函数来捕获为表单中每个元素输入的值。一旦用户单击了提交按钮,就必须显示用户为每个控件输入的值。 该代码适用于除radiobutton之外的所有控件。 谁能建议我怎么做?
function DisplayFormValues(){
var str = '';
var elem = document.getElementById('form1').elements;
for(var i = 0; i < elem.length; i++)
{
str += "<b>Name:</b>" + elem[i].name + "\n";
str += "<b>Value:</b><i>" + elem[i].value + "\n";
str += "<BR>";
}
document.getElementById('lblValues').innerHTML = str;
}
答案 0 :(得分:1)
单选按钮和复选框的值不容易获取,因为它们在DOM中共享相同的名称。您必须遍历每个元素并检查其子元素中的哪个元素。
所以,你需要扩展你的循环。一种方法是:
function DisplayFormValues(){
var theform = document.form1;
var a = ['input', 'textarea', 'select'];
var echo = '';
for (var i = 0; i < a.length; i++) {
var tag = a[i];
var els = theform.getElementsByTagName(tag);
for (var j = 0; j<els.length; j++) {
el = els[j]; // the element
if ((tag == 'input' && (el.type == 'text' || el.type == 'password')) || tag == 'select') {
echo += '<strong>' + el.name + '</strong>: ' + el.value + '<br />';
} else if ((tag == 'checkbox' || tag == 'radio') && el.checked) { // the element is checked!
echo += '<strong>' + el.name + '</strong>: ' + el.value + '<br />';
}
}
}
document.getElementById('lblValues').innerHTML = echo;
}