我遇到了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使值不为空。
希望你能提供帮助。
答案 0 :(得分:-1)
空输入字段的值是空字符串,而不是null
。就是这样。
如果你有很多字段,请停止手动编写每个验证,而是为它们定义一个模式(如果没有更好的方法来定义数据的约束,则数组就足够了),循环遍历它根据它验证每个字段。
(使用endif
的任何人都没有商业呼叫代码“臃肿”......)