检测空字段 - 问题

3

我正在尝试在ajax中检测哪个字段为空。(echo $field; >>> 输出为 radios)

这个 if (!data.livre && data.livre == "radios") { 检查 data.livre 是否不为真(即工作正常),现在我想检查 echo 是否为 radios。如果是 radios,我会向用户显示:空的单选框。

function check($form) {
            $fields = array("radios", "age");
            foreach($fields as $field) {
                if(empty($form[$field])) {
                    echo $field;
                    return false;
                }
            }
            return true;
    }

    $data = array();
    $data['livre'] = $val-> check($form);
    echo json_encode($data);

JSON输出:

radios{"livre":false}

js

        success: function(data) {
             if (!data.livre && data.livre == "radios") { //problem here
                $("#msgbox1").fadeTo(200, 0.1, function() {
                 $(this).html('empty radios').addClass('messageboxerror1').fadeTo(900, 1);      
                });
            }
        }

编辑:如何最好地确定空字段是单选框还是年龄?

谢谢。


什么是问题?这个问题很难理解。 - Pointy
1
!data.livre && data.livre == "radios" 本质上是在说“如果livre未设置且等于'radios'...”,您是否想使用||代替? - Problematic
1
无论如何都没有意义。您正在生成的JSON输出无效。如果您想使用data.livre进行检查,您需要编写它像 {"livre": "radios"} - Dan
显然,因为您正在检查其是否未设置并且是否为“radios”。那永远不可能成立...请删除!data.livre。 - Dan
兄弟,我完全搞混了。我想问题现在清楚了。最好的方法是如何确定空字段是单选框还是年龄? - user455318
显示剩余6条评论
1个回答

2
如果结果是只有收音机或年龄为空,或两者都为空,则您需要编辑检查条件为!data.livres || data.livres ==“radios”|| data.livres ==“age”。如果您的JSON输出如下所示,则会打印出该消息:
{livres: false}

或者

{livres: "radios"}

或者

{livres: "age"}

编辑:根据您的评论进行更改

if (!data.livre) { //problem here
  // Do whatever you want to do when livres is false
} else if (data.livre == "radios") {
  // Do whatever you want to do when livres is "radios"
} else if (data.livre == "age") {
  // Do whatever you want to do when livres is "age"
}

我必须有一个开关来检查是否为收音机>>显示消息“空收音机”,或者如果是年龄>>显示消息“空年龄”。你建议的总是会显示相同的消息。 - user455318

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接