Jquery 验证是否填写所有文本字段或无文本字段
我有5个文本字段,分别是账单地址、城市、州、邮政编码、国家/地区。我想验证这些字段,如果用户填写任何一个文本字段,他必须填写所有字段。例如,如果用户输入城市字段,他必须输入所有字段,即账单地址、州、,邮政编码或如果他输入地址,他必须输入所有字段,即城市、州、邮政编码等,否则他不得输入任何字段 由于我已经写了这段代码,但从这我没有得到确切的结果,它将只工作时,我开始输入序列,即第一个地址,然后城市,然后国家等,而且信息显示多次我点击提交按钮,它是不显示一次,可以任何人请看看这段代码,并作出必要的更改。谢谢在请提前通知我Jquery 验证是否填写所有文本字段或无文本字段,jquery,html,Jquery,Html,我有5个文本字段,分别是账单地址、城市、州、邮政编码、国家/地区。我想验证这些字段,如果用户填写任何一个文本字段,他必须填写所有字段。例如,如果用户输入城市字段,他必须输入所有字段,即账单地址、州、,邮政编码或如果他输入地址,他必须输入所有字段,即城市、州、邮政编码等,否则他不得输入任何字段 由于我已经写了这段代码,但从这我没有得到确切的结果,它将只工作时,我开始输入序列,即第一个地址,然后城市,然后国家等,而且信息显示多次我点击提交按钮,它是不显示一次,可以任何人请看看这段代码,并作出必要的更
$('SAVE#u HEADER')。单击(函数(){
var valid=true;
var requiredFields=[“账单地址街道”、“账单地址城市”、“账单地址州”、“账单地址邮编”、“账单地址国家];
对于(变量i=0;i
帐单地址1
帐单地址1:
计费城市:
账单状态:
账单邮政编码:
计费国家:
我以您自己的风格重新编写了您的脚本,格式良好!您的脚本有点凌乱:-)
$('SAVE#u HEADER')。单击(函数(){
var-dataInForm=false;
var allFieldsFilled=true;
var requiredFields=[“账单地址街道”、“账单地址城市”、“账单地址州”、“账单地址邮编”、“账单地址国家];
//知道表单中是否有数据
对于(变量i=0;i
您只需添加带有errorplaceholder id的div:
<div id="errorplaceholder"></div>
您也可以在此处进行测试:
编辑:
您没有对呈现的HTML的访问权,所以只需在jquery中添加div,然后在onclick中使用它。为此,只需添加以下代码:
$( document ).ready(function() {
// Add div placeholder for error managment
$("<div id=\"errorplaceholder\"></div>").appendTo('fieldset');
});
$(文档).ready(函数(){
//添加用于错误管理的div占位符
$(“”)。appendTo('fieldset');
});
您可以在此处进行测试:
编辑
这是你的最终版本
$( document ).ready(function() {
// Add div placeholder for error managment
$("<div id=\"errorplaceholder\"></div>").appendTo('fieldset');
});
$('#SAVE_HEADER').click(function() {
var dataInForm = false;
var allFieldsFilled = true;
var requiredFields = ['billing_address_street', 'billing_address_city', 'billing_address_state', 'billing_address_postalcode', 'billing_address_country'];
// Know if there are data in form
for (var i = 0; i < requiredFields.length; i++) {
var val = $('#' + requiredFields[i]);
if (val.val() != '' && !dataInForm) {
// there are data in form so put true
dataInForm = true;
}
}
// If there is data in form, loop tu search empty fields
if (dataInForm) {
for (var ii = 0; ii < requiredFields.length; ii++) {
var val2 = $('#' + requiredFields[ii]);
if ( (val2.val().length == 0) && allFieldsFilled) {
allFieldsFilled = false;
}
}
}
// put message if there is at least 1 data in form && fields are missing
if (dataInForm && !allFieldsFilled) {
$('#errorplaceholder').html("<span>Enter all the Address Fileds!</span>");
}
else {
if(dataInForm && allFieldsFilled)
{
$('#errorplaceholder').html("");
}
}
});
$(文档).ready(函数(){
//添加用于错误管理的div占位符
$(“”)。appendTo('fieldset');
});
$(“#保存_头”)。单击(函数(){
var-dataInForm=false;
var allFieldsFilled=true;
var requiredFields=[“账单地址街道”、“账单地址城市”、“账单地址州”、“账单地址邮编”、“账单地址国家];
//知道表单中是否有数据
对于(变量i=0;i
还有小提琴:你的代码很好。尝试在body标记结束之前移动js代码。它可以工作。你可以考虑在StAcExcel中添加代码,除了JsFoDLE之外吗?ThanksA JSFIDLE链接很好,但是将您的代码放到,这样人们就可以阅读和学习了。@vinayak您看到我的答案了吗?谢谢朋友,它工作得很好,但有一点是,我点击提交按钮的次数与消息显示的次数一样多。因为我不能创建HTMLdiv,因为它是动态html文件,所以我应该在jquery代码中包含span。在填充所有字段之后,消息不会消失。我再次非常感谢这个帮助OK,让我在jQuery中创建div,然后像脚本一样使用它(页面上只有一条消息)。查看我编辑的答案@vinayakYa nice!!!!谢谢,成功了。只有一件事,当我点击提交时,如果所有字段都被填充,消息不会消失。你在这里,但我认为代码足够干净,可以单独进行最新编辑。。。不管我为你做了什么@vinayaktanksaliTha
$( document ).ready(function() {
// Add div placeholder for error managment
$("<div id=\"errorplaceholder\"></div>").appendTo('fieldset');
});
$('#SAVE_HEADER').click(function() {
var dataInForm = false;
var allFieldsFilled = true;
var requiredFields = ['billing_address_street', 'billing_address_city', 'billing_address_state', 'billing_address_postalcode', 'billing_address_country'];
// Know if there are data in form
for (var i = 0; i < requiredFields.length; i++) {
var val = $('#' + requiredFields[i]);
if (val.val() != '' && !dataInForm) {
// there are data in form so put true
dataInForm = true;
}
}
// If there is data in form, loop tu search empty fields
if (dataInForm) {
for (var ii = 0; ii < requiredFields.length; ii++) {
var val2 = $('#' + requiredFields[ii]);
if ( (val2.val().length == 0) && allFieldsFilled) {
allFieldsFilled = false;
}
}
}
// put message if there is at least 1 data in form && fields are missing
if (dataInForm && !allFieldsFilled) {
$('#errorplaceholder').html("<span>Enter all the Address Fileds!</span>");
}
else {
if(dataInForm && allFieldsFilled)
{
$('#errorplaceholder').html("");
}
}
});