0

私のPHPフォーム(organisation.php)には、このJavaScript検証があります

if(document.orgform.startdate.value == '')
{
    alert('Enter Start Date');
    document.orgform.startdate.focus();
    return false;
}
if(document.orgform.enddate.value == '')
{
    alert('Enter End Date');
    document.orgform.enddate.focus();
    return false;
} //these work fine

Jクエリ

function getorgname(key)
{
  var orgvalue = key.value;
  $.ajax({
    type:"POST",
    url:"searchorg.php",
    data:{orgname : orgvalue},
    success: function(res) {
       $('#org').html(res);
    }
  });
} //returns organisation names with checkboxes, working fine

組織部分の HTML 部分は次のとおりです。

<input type="text" name="startdate" id="sdate" >
<input type="text" name="enddate" id="edate">
<div id="organisation></div> //ajax returned values displayed here, working fine.

少なくとも1つのチェックボックスがチェックされているかどうかをテストするにはどうすればよいですか?

orgnaisation.php だけでなく ajaxorganisation.php にもバリデーションを入れてみて、orgnaisation.php の提出時にその関数を呼び出したのですが、うまくいきません。

サーバー側の検証は正常に機能していますが、クライアント側の検証も行う方法があれば幸いです

4

3 に答える 3

1

A. HTML コードを修正します。含まれる div id 属性に、終了の二重引用符区切り文字がありません。

B. 少なくとも 1 つがクリックされたかどうかを確認したいときはいつでも、「#organisation」の引数を指定して次の関数を呼び出します。

function at_least_one_checked(container) {
    var $c_list = $(container + ' input[type="checkbox"]');
    for (var i = 0; i < $c_list.length; ++i)
        if ($($c_list[i]).prop('checked'))
            return true;
    return false;
}
于 2013-10-21T11:11:02.463 に答える
0

このようなことを試してください

    // chkbx class on checkbpx element
    var flag = false
    jQuery('.chkbx').each(function(){
        if(this.checked){
            flag = true;
        }
    })

    return flag;// true if checked else false
于 2013-10-21T11:25:02.750 に答える