2011-06-16 51 views
3

我想在ajax中检测什么是空的字段。 (echo $field; >>>输出为收音机)检测空字段 - 问题

if (!data.livre && data.livre == "radios") {检查data.livre是不正确的(即工作),现在我要检查,如果回声电台与否。如果是收音机我展示给用户:空无线电

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);  
       }); 
      } 
     } 

编辑:什么是确定的最佳途径如果空的字段是收音机或年龄?

感谢

+0

问题是什么?这个问题很难理解。 – Pointy 2011-06-16 15:20:04

+0

我需要检查json是否是:radios {“livre”:false} 或age {“livre”:false}基本上 – user455318 2011-06-16 15:20:54

+1

'!data.livre && data.livre ==“radios”'本质上是说“if livre未设置并且等于'无线电'...“您是否想要使用||代替? – Problematic 2011-06-16 15:20:58

回答

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" 
} 
+0

我必须有一个开关来检查是否收音机>>显示一条消息“空无线电”或如果是年龄>>显示消息“空时代”。你的建议总是会显示相同的信息。 – user455318 2011-06-16 15:52:47

+0

然后做单独的检查。每个案例一个if或elseif ... – Dan 2011-06-16 19:46:46