NULL值jQuery Ajax表单Serialize

时间:2010-09-02 17:53:03

标签: php jquery ajax forms

我遇到了Ajax From Submission和使用php / mysql的NULL值的问题。

首先,我有一个简单的表格。

<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>

好的,现在通过ajax将数据发布到php非常简单

$(".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);
        }
    }); 
})

好的,现在问题来了。对于此表,薪水字段是浮动。

如果我提交的表格中有一个空白值,那么它不是空的。所以我将0.00添加到我的数据中。

我可以在添加数据之前轻松测试空字符串,但是有很多字段是这样的,它变得臃肿。 I,E

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

任何想法为什么jQuery使值不为空。

希望你能提供帮助。

1 个答案:

答案 0 :(得分:-1)

空输入字段的值是空字符串,而不是null。就是这样。

如果你有很多字段,请停止手动编写每个验证,而是为它们定义一个模式(如果没有更好的方法来定义数据的约束,则数组就足够了),循环遍历它根据它验证每个字段。

(使用endif的任何人都没有商业呼叫代码“臃肿”......)