求助:一个表单中有多个input,数量不确定,怎么验证不为空,一次性提交后,怎么获取到值? input 验证 获取值 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你这个问卷调查我也做过实际挺简单的你的input应该用到节点添加和删除要想判断input是不是被选中就用jQuery当中each方法遍历当变量input对象时你要用prop方法判断这个对象是text还是checkbox还是radio然后取值就行了 补充说一句你在创建input的时候一定要有规律的添加name值方便提交后php容易获取获取就用遍历就行 var text=true,checkbox={},radio={};var inputs=document.getElementsByTagName('input');for(var i=0,len=inputs.length;i<len;i++){var x=inputs[i];var type=x.type.toLowerCase();switch(type){case 'text': if(text){ text=!!x.value; }break;case 'checkbox': if(!checkbox[x.name]){ checkbox[x.name]=x.checked; }break;case 'radio': if(!radio[x.name]){ radio[x.name]=x.checked; }break;}}if(!text){alert('no');}for(var i in checkbox){if(checkbox.hasOwnProperty(i)){ if(!checkbox[i]){ alert(''no');break;}}for(var i in radio){if(radio.hasOwnProperty(i)){ if(!radio[i]){ alert(''no');break;}}}类似这样试试 JQuery 获取 所有input控件 再循环$("input[id^='id']")遍历就$("input[id^='id']").each(function(){//获取对象this}); 大哥,有没有具体实例,对jQuery不是很熟悉;我尝试了用for循环获取input值,但是取到的值都是null;无法插入数据库 大哥,有没有具体实例,对jQuery不是很熟悉;我尝试了用for循环获取input值,但是取到的值都是null;无法插入数据库我得确定一个问题就是你的调查问题是不是已经固定了不在添加了。如果调查问题已经固定那么就如4楼所说如果没有固定那么你的name值一定要有规律而且下标依次递增这样设计才方便遍历。我也不清楚你的调查问题是可以继续增加减少还是固定不变的。 将name值设计好后就在动态程序里面循环取值就行了。下面这个是判断是否被选中希望对你有用<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>无标题文档</title><script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.8.0.js" type="text/javascript"></script><script type="text/javascript" language="javascript">function check(){ if(conn()==false){ return false; } }function conn(){ var inputs=document.getElementsByTagName("input"); for(var i=0 ; i<inputs.length ; ++i){ if(inputs[i].type.toLowerCase()=='checkbox'){ //在这里进行input文本框类别判断剩下的input radio自己写吧。复制整个if里面东西将checkbox改成radio或者text var = false; $("input[name='"+inputs[i].name+"']").each(function(){ if($(this).prop("checked")){ = true; } }); if(!){ alert("第 "+(inputs[i].name.replace(/[^\d]/g,''))+" 道题没有作答"); return false; break; } } }}</script></head><body><pre><form onsubmit="return check()">Q1、您的爱好<br><input type='checkbox' name='q1[]' value='好' />篮球<input type='checkbox' name='q1[]' value='不好' />足球<input type='checkbox' name='q1[]' value='其他' />羽毛球Q2、您的性别<br><input type='radio' name='r2' value='是' />男<input type='radio' name='r2' value='不是' />女Q3、您的地址<br><input type='text' name='t3' ></pre><input type="submit" value=" ok " /></form></body></html> 新手求教:条件运算符(?)小习题 js/asp表单问题 高手人 div绝对坐标 问倒众生,关于asp.net又一问 浏览器区分cookie 如下功能的导航栏怎么写?或者给点思路! 问一个表格的问题。 Javascript 里这样取出年份对吗? 哪种实现DHTML Behavior的技术更好?来者有分,论之更多! 使用WebStorm8调试js选择IE作为浏览器无效 帮忙给看下 看着简单 但是没写出来 jqgrid行高的问题
你的input应该用到节点添加和删除
要想判断input是不是被选中就用jQuery当中each方法遍历
当变量input对象时你要用prop方法判断这个对象是text还是checkbox还是radio
然后取值就行了
获取就用遍历就行
var inputs=document.getElementsByTagName('input');
for(var i=0,len=inputs.length;i<len;i++){
var x=inputs[i];
var type=x.type.toLowerCase();
switch(type){
case 'text':
if(text){
text=!!x.value;
}
break;
case 'checkbox':
if(!checkbox[x.name]){
checkbox[x.name]=x.checked;
}
break;
case 'radio':
if(!radio[x.name]){
radio[x.name]=x.checked;
}
break;
}
}
if(!text){
alert('no');
}
for(var i in checkbox){
if(checkbox.hasOwnProperty(i)){
if(!checkbox[i]){
alert(''no');
break;
}
}
for(var i in radio){
if(radio.hasOwnProperty(i)){
if(!radio[i]){
alert(''no');
break;
}
}
}
类似这样试试
$("input[id^='id']")遍历就
$("input[id^='id']").each(function(){
//获取对象this
});
大哥,有没有具体实例,对jQuery不是很熟悉;我尝试了用for循环获取input值,但是取到的值都是null;无法插入数据库
大哥,有没有具体实例,对jQuery不是很熟悉;我尝试了用for循环获取input值,但是取到的值都是null;无法插入数据库
我得确定一个问题就是你的调查问题是不是已经固定了不在添加了。如果调查问题已经固定那么就如4楼所说如果没有固定那么你的name值一定要有规律而且下标依次递增这样设计才方便遍历。我也不清楚你的调查问题是可以继续增加减少还是固定不变的。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.8.0.js" type="text/javascript"></script>
<script type="text/javascript" language="javascript">
function check(){
if(conn()==false){
return false;
}
}
function conn(){
var inputs=document.getElementsByTagName("input");
for(var i=0 ; i<inputs.length ; ++i){
if(inputs[i].type.toLowerCase()=='checkbox'){ //在这里进行input文本框类别判断剩下的input radio自己写吧。复制整个if里面东西将checkbox改成radio或者text
var = false;
$("input[name='"+inputs[i].name+"']").each(function(){
if($(this).prop("checked")){
= true;
}
});
if(!){
alert("第 "+(inputs[i].name.replace(/[^\d]/g,''))+" 道题没有作答");
return false;
break;
}
}
}
}
</script>
</head>
<body>
<pre>
<form onsubmit="return check()">
Q1、您的爱好<br>
<input type='checkbox' name='q1[]' value='好' />篮球
<input type='checkbox' name='q1[]' value='不好' />足球
<input type='checkbox' name='q1[]' value='其他' />羽毛球
Q2、您的性别<br>
<input type='radio' name='r2' value='是' />男
<input type='radio' name='r2' value='不是' />女Q3、您的地址<br>
<input type='text' name='t3' >
</pre>
<input type="submit" value=" ok " />
</form>
</body>
</html>