作者mikevada (vada)
看板Web_Design
标题[问题] 一个javascript的问题
时间Mon Feb 22 11:51:04 2016
<script language="javascript" type="text/javascript">
function submitcheck(num)
{
var check;
var len;
len="g"+1;
for (var i=0; i<num; i++)
{
if(document.myform.g1[i].checked)
//如果把g1用len变数代替就会跑不出来
check=true;
if(check)
{
document.myform.action = "result.jsp";
myform.submit();
}
else
{
alert("请至少选一个");
break;
}
}
}
</script>
为什麽用变数len就有问题呢?拜托大家,谢谢。
完整CODE
<%@ page contentType="text/html;charset=utf-8"
import="java.sql.*,java.util.Date,java.text.*" %>
<html>
<script language="javascript" type="text/javascript">
function submitcheck(num)
{
var check;
var len;
len="g"+1;
for (var i=0; i<num; i++)
{
if(document.myform.g1[i].checked)
check=true;
alert(check);
if(check)
{
document.myform.action = "result.jsp";
myform.submit();
}
else
{
alert("请至少选一个");
break;
}
}
}
</script>
<body>
<form name="myform" method="post" action="result.jsp" onSubmit="return
submitcheck()">
<table width="100%" border="1" align="center">
<tr bgcolor="#FF9900">
<td width="50%">问项一</td>
<td width="50%"> </td>
</tr>
<tr>
<td width="690"><p>问项一。</td>
<td><input type="radio" name="g1" value="7" >
非常同意
<input type="radio" name="g1" value="6">
稍微同意
<input type="radio" name="g1" value="5">
同意
<input type="radio" name="g1" value="4">
普通
<input type="radio" name="g1" value="3">
不同意
<input type="radio" name="g1" value="2">
稍微不同意
<input type="radio" name="g1" value="1">
非常不同意 </td>
</tr>
<tr>
<td> 问项二。
</td>
<td><input type="radio" name="g2" value="7" >
非常同意
<input type="radio" name="g2" value="6">
稍微同意
<input type="radio" name="g2" value="5">
同意
<input type="radio" name="g2" value="4">
普通
<input type="radio" name="g2" value="3">
不同意
<input type="radio" name="g2" value="2">
稍微不同意
<input type="radio" name="g2" value="1">
非常不同意 </td>
</tr>
</table>
<br>
<div align="center">
<input type="button" value="下一页" onClick='submitcheck(5)'>
</div>
</form>
</body>
</html>
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.34.6.225
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Web_Design/M.1456113066.A.243.html
※ 编辑: mikevada (114.34.6.225), 02/22/2016 11:54:27
1F:→ Ammenze: g1[]里面给数字,len是文字,g1[1]表示取g1内第2个物件 02/22 12:20
我知道,但问题就是g1如何用变数去代替?
※ 编辑: mikevada (114.34.6.225), 02/22/2016 12:46:47
2F:推 ian90911: 你要取得表单上所有checkbox? 02/22 13:23
3F:推 pm2001: eval() 02/22 13:31
4F:推 JohnYaEPen: 请问html部份可以提供 看看吗? 02/22 13:56
5F:→ vi000246: 你上一篇文章里我推的方法能用吗? 还是要各别判断? 02/22 14:53
不好意思,jquery不会用....,想单纯用js解决
※ 编辑: mikevada (114.34.6.225), 02/22/2016 15:17:53
※ 编辑: mikevada (114.34.6.225), 02/22/2016 15:19:18
※ 编辑: mikevada (114.34.6.225), 02/22/2016 15:20:12
6F:推 Kenqr: document.myform[len][i].checked 02/22 16:17
7F:→ biobluesheep: len已经被你宣告成一个字串了怎麽再变成阵列? 02/22 16:45
8F:推 vi000246: 你可以google eval()的用法 应该是你想要的 02/22 21:18
9F:推 JohnYaEPen: 我看懂你的问题了,因为document.myform.xxx是要form 02/23 10:00
10F:→ JohnYaEPen: 底下的控制项,你这样接变数当然不能用吧@@ 02/23 10:01
11F:推 JohnYaEPen: 可以的话你把RADIO每个都加上id,再用getElementsByID 02/23 10:20
12F:→ JohnYaEPen: 抓出来,大概就能用一个回圈去抓n的问项的RADIO 02/23 10:21
13F:→ JohnYaEPen: 但还是建议你试着用JQUERY看看~ 02/23 10:21
15F:→ xdraculax: jQuery 不难,这年头算必学,写什麽都简单很多 02/24 14:40
16F:→ xdraculax: myform.g1 可以用 myform["g1"] 取得 02/24 14:46
17F:→ xdraculax: 1.num参数未传入也没必要传入,应用js查数量 02/24 14:49
18F:→ xdraculax: 2 if(check) 应该放在回圈外 02/24 14:51
19F:→ xdraculax: for(var j=1;j<=2;j++){ 02/24 14:53
20F:→ xdraculax: var checks = document.myform["g"+j]; 02/24 14:54
21F:→ xdraculax: for(var i=0;i<checks.length;i++){ 02/24 14:55