Jquery 验证是否填写所有文本字段或无文本字段

Jquery 验证是否填写所有文本字段或无文本字段,jquery,html,Jquery,Html,我有5个文本字段,分别是账单地址、城市、州、邮政编码、国家/地区。我想验证这些字段,如果用户填写任何一个文本字段,他必须填写所有字段。例如,如果用户输入城市字段,他必须输入所有字段,即账单地址、州、,邮政编码或如果他输入地址,他必须输入所有字段,即城市、州、邮政编码等,否则他不得输入任何字段 由于我已经写了这段代码,但从这我没有得到确切的结果,它将只工作时,我开始输入序列,即第一个地址,然后城市,然后国家等,而且信息显示多次我点击提交按钮,它是不显示一次,可以任何人请看看这段代码,并作出必要的更

我有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("");
        }
    }
});