如何验证 ajax 返回值的 javascript “not null”


How to validate javascript "not null" for ajax return values

My Php form (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

简讯

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.

现在如何测试是否至少选中了一个复选框?

我尝试将验证放在ajaxorganisation.php以及orgnaization中.php并在提交organisation.php时调用该函数,但它不起作用。

服务器端验证工作正常,但如果也有客户端验证的方法,将不胜感激


A. 修复您的 html 代码。包含div id 属性缺少结尾双引号分隔符。

B. 每当您希望检查是否至少单击了一个时,请使用参数"#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;
}

最好通过保留相同的名称来创建一组这些复选框。就像将来添加更多输入元素一样,它不会影响代码。

尝试这样的事情

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