【问题标题】:Get HTML form element when respective form value is null.?当相应的表单值为空时获取 HTML 表单元素。?
【发布时间】:2013-04-24 18:53:36
【问题描述】:

有一个表单,需要验证它。

已使用serializearray 获取单击提交按钮时的所有表单元素。

解析每个值,如果值为null,则需要为相应的HTML元素添加一个类。

代码如下

$(document).ready(function(){
    $("#sumbit_button").click(function(){
        var formElements = $("#ImageSliderForm").serializeArray();
        $(formElements).each(function(x){
            if(formElements[x]["value"] == ""){
                //get the respective html element and add a class
            }
        });
    });
});

需要一种方法来找到相应的 HTML 元素。

console.log($("#ImageSliderForm").serializeArray());

的输出
[Object { name="ImageSliderImageURL",  value=""}, Object { name="ImageHeader",  value=""}, Object { name="ImageHeaderSubText",  value=""}, Object { name="ImageSliderSubTextURL",  value=""}]

【问题讨论】:

  • 不是formElements[x] 相应的元素吗?
  • formElements[x] 是一个对象..

标签: javascript jquery html forms


【解决方案1】:

试试这个:

var formElements = $("#ImageSliderForm").serializeArray();

$(formElements).each(function (x, element) {
    if (element.value == "" || element.value == null) {

        //get the respective html element and add a class
        $("[name='" + element.name + "']").addClass('someclass');
    }
});

【讨论】:

  • 感谢 Palash 抽出宝贵时间。但是 formElements[x] 是一个对象。它不会向元素添加类。
  • 感谢 Palash... 方法有效... 更好的方法... 而不是引入另一个参数 element... $(formElements).each(function (x) { if (formElements[x].value == "" || formElements[x].value == null) { //获取相应的html元素并添加一个类 $("[name='" + formElements[x][" name"] + "']").addClass('someclass'); } });
【解决方案2】:

如果条件错误,试试这个

if(formElements[x]["value"] == "" || formElements[x]["value"] == null){

【讨论】:

  • 如果回答有帮助,请标记并关闭。以便用户进一步参考。
  • 您的回答帮助我纠正了 if 条件,但我的问题是向相应的 HTML 元素添加一个类,其值为 null
  • 你可以 $(elementname).attr("class", "classname")
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-02
  • 2022-01-23
  • 2016-11-13
  • 1970-01-01
  • 1970-01-01
  • 2017-12-27
相关资源
最近更新 更多