【发布时间】:2014-02-22 14:31:57
【问题描述】:
我正在尝试进行一些条件表单验证,但我正在努力解决它。
情况如下:我有一个可选的文本字段(#hb),可以留空并提交表单,但如果它不为空,则必须在提交表单之前输入日期字段(#hdate)。
我尝试了各种方法,但我尝试的最后一个是(value !=''),如果#hb 为空白,我认为应该可以解决。
任何人有什么建议让我继续吗?
谢谢大家!
JQuery 代码
var bla = $('#hb').val();
var blaa = $('#hdate').val();
if (bla != '' && blaa == '') {
$('#EC9').show();
$('#Edialog').dialog('open');
return false;
}
编辑:这是我的全部功能
<script>
function validateForm() {
var e = $('#Consultant');
var x = e.val();
var w = $('#out');
var q = w.val();
var r = $('#inpt');
var t = r.val();
var y = $('#Speciality');
var u = y.val();
var asa = $('#nahf').is(':checked');
var asb = $('#ohf').is(':checked');
var asc = $('#aelc').is(':checked');
var asd = $('#aat').is(':checked');
var ase = $('#aqdp').is(':checked');
var ped = $('#Pace').val();
var bla = $('#hb').val();
var blaa = $('#hdate').val();
var blb = $('#pl').val();
var blbb = $('#pdate').val();
var blc = $('#inr').val();
var blcc = $('#idate').val();
var bld = $('#bilirubin').val();
var bldd = $('#bdate').val();
var ble = $('#crp').val();
var blee = $('#cdate').val();
if (x == null || x == "") {
$('#EC1').show();
$('#Edialog').dialog('open');
return false;
}
if (q == null || q == "") {
$('#EC2').show();
$('#Edialog').dialog('open');
return false;
}
if (t == null || t == "") {
$('#EC3').show();
$('#Edialog').dialog('open');
return false;
}
if (u == null || u == "") {
$('#EC4').show();
$('#Edialog').dialog('open');
return false;
}
if (asa == "0" & asb == "0" & asc == "0" & asd == "0" & ase == "0") {
$('#EC5').show();
$('#Edialog').dialog('open');
return false;
}
if (ped == null || ped == "") {
$('#EC8').show();
$('#Edialog').dialog('open');
return false;
}
if($(bla).val() != '' && $(blaa).val() == '') {
$('#EC9').show();
$('#Edialog').dialog('open');
return false;
}
if (blb != '' && blbb == '') {
$('#EC9').show();
$('#Edialog').dialog('open');
return false;
}
if (blc != '' && blcc == '') {
$('#EC9').show();
$('#Edialog').dialog('open');
return false;
}
if (bld != '' && bldd == '') {
$('#EC9').show();
$('#Edialog').dialog('open');
return false;
}
if (ble != '' && blee == '') {
$('#EC9').show();
$('#Edialog').dialog('open');
return false;
}
}
</script>
【问题讨论】:
-
那是什么问题?现在你的代码工作与否?如果控制台没有任何错误?
-
目前无论是否填写都会显示错误对话框(#Edialog)
-
尝试警报或控制台查看 bla 和 blaa 的值
-
我添加了 alert(bla & ' ' & blaa);到代码,我得到的只是一个 0。当我使用 alert(bla + ' ' + blaa);我变得不明确
-
请不要在不使用 jQuery Validate 插件时使用jquery-validate 标签。
标签: jquery forms validation null conditional