猿问

至少選擇一個項目?

$("#join").submit(function(e){

var f = document.forms[0];

    for (var i=0;i<f.elements.length;i++) 

    {  

        var ee = f.elements[i]; 

        if (ee.type == "checkbox" && ee.checked)

        {

            //成功

        }

        else

        {

            alert('error');

            return false;

        }

    } 

}); 

我這樣寫無法成功
怎麼樣都是error (至少選擇一項)
想請問是哪裡錯誤?

一只甜甜圈
浏览 393回答 1
1回答

胡子哥哥

如果你是想循环检查所有 checkbox,只要有一项选中就 OK,那么你至少应该在所有循环完了之后才知道是否有找到,而不是在每一个循环里去判断失败。function&nbsp;check()&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(...)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(somechecked)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;"OK"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;"error"; }如果不单独写 fucntion 一般会这么写var&nbsp;found&nbsp;=&nbsp;false;for&nbsp;(....)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(somechecked)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;found&nbsp;=&nbsp;true;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break; &nbsp;&nbsp;&nbsp;&nbsp;} }if&nbsp;(found)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;alert("ok"); }&nbsp;else&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;alert("error"); }
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答