我正在尝试获得一些有条件的形式验证,但我正在努力。
这是场景:我有一个可选的文本字段(#hb)
,可以留为空白并且表单提交,但是如果不是空白,则必须在表单提交之前输入日期字段(#hdate)
。
我已经尝试了Allsorts,但是我尝试过的最后一个是(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>
/**前端代码//例如,onclick属性必须使用返回关键字,然后仅停止寄发后**/
<button type="button" id="btnSubmit" onclick="return validateForm()">Submit</button>
/** jQuery代码**/
function validateForm(){
var isSubmit = true;
if($("#hb").val().length != 0){
if($("#hdate").val().length != 0){
if(validateDateFormat($("#hdate").val())){
isSubmit=true;
}
}
else
{isSubmit=false;}
}
else
{ isSubmit=true; }
return isSubmit;
}
function validateDateFormat(dateValue){
var bool = false;
var myDate = new Date();
var bits = dateValue.split('/');
myDate.setFullYear(bits[2], bits[1] - 1, bits[0]);
if (myDate != "Invalid Date") {
bool = true;
}
return bool;
}
/**日期格式应采用DD/mm/yyyy格式。如果您想要任何其他格式,请更改拆分函数并重新排序设置的函数**/