2010-09-02 46 views
0

我有一個Ajax從提交和NULL值與PHP/MySQL的問題。NULL值來自Seralize的jQuery Ajax

首先我有一個簡單的表單。

<form mehod="post" action=""> 
    Name: <input type=text" name="person[name]" value="" /><br /> 
    Age: <input type="text" name="person[age]" value="" /><br /> 
    Salary: <input type="text" name="person[salary]" value="" /> 
    <a href="process.php" class="add-person">Submit</a> 
</form> 

OK現在生病後的數據通過AJAX很簡單

$(".add-person").live('click', function(eve){ 
    eve.preventDefault(); 
    var url = $(this).attr('href'); 
    var data = $(this).closest('form').serialize(); 
    $.ajax({ 
     global: false, 
     type: "POST", 
     url: url, 
     data: data, 
     dataType: 'json', 
     success: function(msg){ 
      alert(msg); 
     } 
    }); 
}) 

好了,現在來這裏的問題PHP的。對於這張表,工資領域是一個浮動。

如果我提交表單的薪資空白值不是null。所以我得到0.00被添加到我的數據。

我可以很容易地測試一個空字符串在添加數據之前,但有很多字段是這樣的,它變得臃腫。我的電子郵件

if(empty($person['salary']): 
    $person['salary'] = NULL; 
endif; 

任何想法爲什麼jQuery使值不爲空。

希望你能幫上忙。

回答

-1

空輸入字段的值是一個空字符串,而不是null。就是這樣。

如果您有很多字段,請停止手動編寫每個驗證,而是爲它們定義一個模式(如果您沒有更好的方式來定義數據約束,則數組就足夠了),循環遍歷它並根據它驗證每個字段。

(並且tbh任何人使用沒有商業調用代碼「臃腫」...)