[問題] 一個javascript的問題

作者: mikevada (vada)   2016-02-22 11:51:04
<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%">&nbsp;</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>
作者: Ammenze (藍天白雲)   2016-02-22 12:20:00
g1[]裡面給數字,len是文字,g1[1]表示取g1內第2個物件
作者: ian90911 (xopowo)   2016-02-22 13:23:00
你要取得表單上所有checkbox?
作者: pm2001 (做個盾牌眼球兵吧)   2016-02-22 13:31:00
eval()
作者: JohnYaEPen (醬也一篇)   2016-02-22 13:56:00
請問html部份可以提供 看看嗎?
作者: vi000246 (Vi)   2016-02-22 14:53:00
你上一篇文章裡我推的方法能用嗎? 還是要各別判斷?
作者: Kenqr (function(){})()   2016-02-22 16:17:00
document.myform[len][i].checked
作者: biobluesheep (喉嚨痛)   2016-02-22 16:45:00
len已經被你宣告成一個字串了怎麼再變成陣列?
作者: vi000246 (Vi)   2016-02-22 21:18:00
你可以google eval()的用法 應該是你想要的
作者: JohnYaEPen (醬也一篇)   2016-02-23 10:00:00
我看懂你的問題了,因為document.myform.xxx是要form底下的控制項,你這樣接變數當然不能用吧@@可以的話你把RADIO每個都加上id,再用getElementsByID抓出來,大概就能用一個迴圈去抓n的問項的RADIO但還是建議你試著用JQUERY看看~寫在CodePen的範例看看吧 http://goo.gl/tHJHAq
作者: xdraculax (首席怪叔叔)   2016-02-24 14:40:00
jQuery 不難,這年頭算必學,寫什麼都簡單很多myform.g1 可以用 myform["g1"] 取得1.num參數未傳入也沒必要傳入,應用js查數量2 if(check) 應該放在迴圈外for(var j=1;j<=2;j++){var checks = document.myform["g"+j];for(var i=0;i<checks.length;i++){

Links booklink

Contact Us: admin [ a t ] ucptt.com