javascript如何获取表里元素的值

<script type="text/javascript">
function onSubmitForm() {
var formDOMObj = document.form1;
if (formDOMObj.sl1.value == "" )
alert("Please press the Browse button and pick a file.");
else
alert(formDOMObj.sl1.value);
return false;
}
</script>

<form action="slider_update.asp?id=<%=rs("id")%>" method="post" enctype="multipart/form-data" name="form<%=rs("id")%>" onSubmit="return onSubmitForm();">
<input name="sl<%=rs("id")%>" class="infile" type="file" >

<input type="submit" name="updateCon<%=rs("id")%>" value="更新" /></br>
</form>

先上代码如上
如果form的名称是固定的, 如name="form1", file的name="sl1", 就可以通过formDOMObj.sl1.value获取file的值
我的问题是假如我的表名是动态变化的, file的名称也是变化的, 如name="form<%=rs("id")%>" , <input name="sl<%=rs("id")%>"

请问如何获取其中的值, 我没有JAVASCRIPT的基础, 上述代码是拷贝的
请大侠详细指教
我再补充一下:
如上我用数据库动态生成3个表, 这样分别得到的3个表名称分别为 form1 form2 form3, 同时3个表里有3个input file分别为sl1 sl2 sl3, 用onSubmit触发时,我想获得这个表中的input file的值, 实际我希望能有个参数传递到onSubmitForm函数里, 请问如何修改这个函数

document.forms是一个包含页面所有表单的一个数组。 document.forms[0]就可以获取这个HTML页面里的第一个表单元素,你要取这个表单项的某个值就可以
document.forms[0].sl1.value来获取。

其实可以直接添加ID来获取。。这样更方便。如果你的ID也动态的。。那你就先我上面的方法先获取到表单。再给file那个添加ID获取这个元素。

<input type='file' />type为file没有值可以获取。也无法获取。追问

如果表的名称用固定的名称 比如: name="form1", file的名称也用固定名称 比如 name="sl1"
上述函数式可以获取值.
现在关键是我的表名成是动态的, 就不知道如何获取
我希望能有2个参数传递给 doument.表名称.file名称.value

追答

onSubmit="return onSubmitForm(this.name,document.getElementByName(this.name).getByClass("file")[0].name);";
再赋上一个getByClass的涵数
function getByClass(sClass,oParent)
{
var oParent=oParent || document;
var aEle=oParent.getElementsByTagName('*');
var aResult=[];
var i=0;

for(i=0;i<aEle.length;i++)
{
if(aEle[i].className==sClass)
{
aResult.push(aEle[i]);
}
}

return aResult;
}
不知道你看明白了么?给你那个提交检测涵数加两个参数。。代进去试试

追问

我不懂JS, 我想实现的是能否把表名和元素名传递到函数里, 然后获其值, 如下
function onSubmitForm(frm, fname) {
var formDOMObj = document.form1; -----这里改成document.frm
if (formDOMObj.sl1.value == "" )------这里改成formDOMObj.fname.value

追答

你测试了没有?

追问

你的代码 我还是不会用 我改的肯定不行了

追答

其实,我建议你还是系统的学习JS吧。。。你百度下javascript 李炎恢 教程很好。你会有收获的。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-21

下面的JS代码可以遍历指定表单中的所有元素,并输出元素的值:

    

<!DOCTYPE html>
<html>
<body>
<form id="frm1" action="form_action.aspx">
First name: <input type="text" name="fname" value="Donald"><br>
Last name: <input type="text" name="lname" value="Duck"><br>
<input type="submit" value="Submit">
</form>
<p>Return the value of each element in the form:</p>
<script>
var x=document.getElementById("frm1");
for (var i=0;i<x.length;i++)
{
document.write(x.elements[i].value);
document.write("<br>");
}
</script>
</body>
</html>

第2个回答  2013-06-12
<script type="text/javascript">
function onSubmitForm() {
var formDOMObj = document.form<%=rs("id")%>;
if (formDOMObj.sl<%=rs("id")%>.value == "" )
alert("Please press the Browse button and pick a file.");
else
alert(formDOMObj.sl<%=rs("id")%>.value);
return false;
}
</script>

<form action="slider_update.asp?id=<%=rs("id")%>" method="post" enctype="multipart/form-data" name="form<%=rs("id")%>" onSubmit="return onSubmitForm();">
<input name="sl<%=rs("id")%>" class="infile" type="file" >

<input type="submit" name="updateCon<%=rs("id")%>" value="更新" /></br>
</form>本回答被网友采纳
第3个回答  2013-06-12

可以用

var inputs = formDOMObj .getElementsByTagName("input")

得到form里面所有input,想要第i个的值,就用

inputs[i].value

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网