十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
js获取表单中的指定动态变量
成都创新互联秉承实现全网价值营销的理念,以专业定制企业官网,网站制作、成都网站设计,微信平台小程序开发,网页设计制作,手机网站制作,成都全网营销推广帮助传统企业实现“互联网+”转型升级专业定制企业官网,公司注重人才、技术和管理,汇聚了一批优秀的互联网技术人才,对客户都以感恩的心态奉献自己的专业和所长。
问题描述:for循环实现表格每行数据输入,对应每行有提交表单需要做相应处理,我们需要获得该行某列的变量值
要求:表格每一行有一个提交按钮实现前台判断操作(判断表格每行第二列的值namefile是否等于动态设置的值)
实现:通过在提交表单onsubmit="javascript:return checkName()"调用函数checkName()检测,返回false表单不提交,不返回或者返回true提交表单
程序框架如下:
function checkName(){
}
......
<%for(var i = 0, i < 10, ++i)%>
....
....
.
.
.
js实现方法:
一、采用getElementById() ,该方法难以实现
原因:getElementById()返回拥有指定id的第一个对象的引用,因为我们实现的是for循环多行数据采用同一个变量,该函数只会得到第一行的对象
getElementById()在js中使用:
var name = getElementById("filename").value; //name为得到的对应id的属性值,filename为id名称
二、采用getElementsByName(),该方法难以实现
原因:getElementsByName()返回指定名称对象的集合,为对象数组结构,对应每一行的提交按钮无法确定是第几行,也无法检测是第几个提交按钮
检测方法比较复杂
三、采用函数传值
有的时候不能采用固定思维,只想到利用HTML DOM 方法,利用函数传值很简单,每行的参数变量是变化的,每行传的形参自然是正确的
代码如下:
function checkName(subfilename){
if(subfilename == " ") //引号里自己控制,若动态也可以用此函数传形参过来
{
return true;//可以省略
}
else{
alert("请重新选择");
return false;
}
}
......
<%for(var i = 0, i < 10, ++i)%>
....
....
.
.
.
测试,此方法简单有效。