為什么輸入數字不在范圍就會彈框六次呢?
function checkone(){
? ? ? ? ? ? var j=document.getElementById("wb").value;
? ? ? ? ? ? var hobby=document.getElementsByName("hobby");
? ? ? ? ?// 任務3
? ? ? ? ? ? if(j<7&&j>0)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? for(var n=0;n<hobby.length;n++)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? if((n+1)==j)
? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? hobby[n].checked=false;
? ? ? ? ? ? ? ? ? ? ? ? document.getElementById("wb").value="";
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? }
? ? ? ? ? ? else
? ? ? ? ? ? {
? ? ? ? ? ? ? ? alert("當前輸入有誤!請重新輸入...")
? ? ? ? ? ? ? ? document.getElementById("wb").value="";
? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? }
有同學可以幫忙看看嗎?謝謝了
2017-03-13
同學先不提代碼結果,光說你的語句就有問題啊。。。我把你代碼內容清除,光剩一個語句結構,你看下是不是有問題
? ? function checkone()
? ? {
? ? ? ? if()
? ? ? ? {
? ? ? ? ? ? ? ? for(){ if(){} }
? ? ? ? ? ? else{}
? ? ? ? }
? ? }
你的else沒有對應if。。。
你提供的代碼是運行不了的,我試了。你說的彈框6次,我初步判斷是因為你現在的代碼運行不了,所以頁面暫時還停留在你上一次運行成功的代碼,這個代碼停留的問題我也遇到過,有點印象。
修改后格式應該是下面這樣,我運行了下,點一次‘確定’只會彈框一次。
另外把false改成true,點擊確定是選中框而不是取消框選。感覺代碼還可以更簡潔一點
? ? function checkone()
? ? {
? ? ? ? if()
? ? ? ? {
? ? ? ? ? ? ? ? for(){ if(){} }
? ? ? ? }
? ? ? ? else{}
? ? }
一起加油,哈哈。我有時候不會就點開答案?,F在看到你這自己辛苦敲出來的代碼,挺慚愧的,哈哈