需要获得一组具有相同的ID和name的input的几种尝试
来源:互联网 发布:淘宝差评如何巧妙回复 编辑:程序博客网 时间:2024/06/09 19:06
如题,由于input是动态生成,起先也可以给id设置成不同的动态名,但是为了尽量不改后台代码。于是尝试了几种方法。
需求,有一个【增加】按钮,用户每按一次,增加一个input输入框,要实现判断input框是否输入。但由于id一样,所以网上找了一些方法。
环境,JS:
// 处理加载 输入框 var pcInputIndex = 1 ;function autoLoadInput(par) { if(par != null && par != "") { var html = "" ;if(par == "pc") {// 处理批次按钮 var $pc = $("#pc") ;html = "<tr id = 'pc_" + pcInputIndex + "' >" ;html += "<td>" ;html += "<input type='text' name='pcv' id='pcv' class='text' maxlength='200' style='width: 400px;' />" ;html += " <a href=javascript:delAutoLoadInput('pc_',"+pcInputIndex+"); >删除</a>" ;html += "</td>" ;html += "</tr>" ; $pc.append(html) ;// 添加元素pcInputIndex ++ ; }}}html += "<input type='text' name='pcv" + pcInputIndex + "' id='pcv" + pcInputIndex + "' class='text' maxlength='200' style='width: 400px;' />" ;
JSP:
<tr><th>批次号:</th><td> <input type="button" class="button" onclick="autoLoadInput('pc') ;" value=" + 新增批次" /></td></tr>
①最开始,想法是有动态的值pcInputIndex,那么input的id也可以动态设置。
于是:
html += "<input type='text' name='pcv" + pcInputIndex + "' id='pcv" + pcInputIndex + "' class='text' maxlength='200' style='width: 400px;' />" ;
然后我的判断方法就是:
function submitForm(n) { if(n != "0") { var pcn = $("table #pc").find("tr").length ; if(pcn == null || pcn <= 0) { $.message("warn","请填写商品进货批次信息 !");return false; } if(pcInputIndex > 1){ for(var i = 1; i < pcInputIndex; i++){ var pcvId = 'pcv'+i; var pcv = $("#"+pcvId+"").val(); if($("#"+pcvId+"").length > 0){ if(pcv == null || pcv == ""){ $("#"+pcvId+"").focus(); $.message("warn","请填写商品进货批次信息 !");return false; } } } } }}
由于pcInputIndex只做了++处理,但是删除按钮没有做--处理,所以多了判断
if($("#"+pcvId+"").length > 0){
但是,后台代码也要随之改变,我想应该还有不变更的ID的方法。毕竟不想改动太大
// 批次号 String[] pcvs = null ;// 判断是否草稿件 if(state.equals(ProductQuality.ProductQualityState.Quality_State_1.getCode())) {// 批次号 pcvs = request.getParameterValues("pcv") ;if(pcvs == null) {return Constants.ERROR_VIEW;} // 此处代码省略}
②于是又找到了这个方法,本来是很好的方法,简单明了,但是不知道为什么,明明方法可以进,光标都到位了,message却显示不出来,不知道是不是和作用域有关,现在的我还是懂的太少,只能记录下来,以后再解惑了
if(pcInputIndex > 1){$('input[id="pcv"]').each(function(){ var pcv=$(this).val(); if(pcv == null || pcv == ""){ $(this).focus(); $.message("warn","请填写商品进货批次信息 !"); return false; }});}
③网上找的也是ByName,我自己尝试了用ById,发现不行,最后还是这个方法,完美解决
if(pcInputIndex > 1){var pcvs = document.getElementsByName("pcv");var info = "";for (var i = 0; i< pcvs.length; i++) {info = pcvs[i].value;if (info == null || info == "") {pcvs[i].focus(); $.message("warn","请填写商品进货批次信息 !"); return false;}}}
阅读全文
0 0
- 需要获得一组具有相同的ID和name的input的几种尝试
- 获取相同name 不同id 的input控件
- < input >里name和id的差别
- <input>里name和id的区别
- input中id和name的区别
- <input>中ID和NAME的区别
- input中id和name的区别
- awk统计具有相同ID的行的和
- Android中如何实现将具有相同特征的id循环获得
- input 里text类型的id 和name 的区别
- name相同的input是个集合
- <input>标签中id和name的作用和区别
- jsp name属性相同的一组输入框input,输入其中一个值,其余值跟随改变事件监听代码
- 在表单(input)中id和name的区别
- input中id和name属性的区别。
- input中id和name属性的区别
- html标签input中id和name属性的区别
- input中id和name属性的区别
- JQuery效果-6.6
- 动态www服务器的请求流程原理
- JQuey淡入淡出,滑动方法-6.7
- 设计模式详解——迭代器模式
- Hibernate将HQL语句转换成SQL语句
- 需要获得一组具有相同的ID和name的input的几种尝试
- [js点击]JavaScript之Ajax技术01
- 只给出先序遍历和后序遍历不能唯一确定二叉树的例子
- 【代码笔记】iOS-NSJSONSerializationDemo
- 在线预览PDF/SWF
- [转] HBase-1.2.4LruBlockCache实现分析
- 设计模式详解——工厂模式(一)
- 【WEB开发技术】apache-tomcat-7.0.30的安装、配置、发布项目、教程说明
- 最新版PS CC 2017版下载,可汉化可激活