无法从$ _POST数据中获取空白表单值将名称添加为值? (jquery验证ajax)

时间:2011-08-24 12:44:38

标签: php ajax forms validation

我正在使用jquery validate和ajax发布表单,但希望发布一个包含我的数据的空白字段并使用:

<input type="text" name="blank" class="blank" />

当通过php发送带有此字段的表单时,$ _POST ['blank']的值为“空白”而不是预期的“”。

如果我尝试

,也会出现这种情况
 <input type="text" name="blank" class="blank" value=""/>

如果我使用它:

<input type="text" name="blank" class="blank" value="this_value"/>

我按预期获得$ _POST ['blank']的“this_value”。

其他所有内容都适用于表单,除了空白字段发布时,其值与其名称相匹配,而不是空白值。

有没有人遇到这个并知道补救措施?

2 个答案:

答案 0 :(得分:-1)

之前我遇到过这个问题,对我来说最简单的解决方案是尝试查找$ _POST中是否存在某个字段,如果没有,则认为它是空白的:

<?php
if (array_key_exists('blank',$_POST)===FALSE)
{
    $blank='';
} else
{
    $blank=$_POST['blank'];
}
?>

答案 1 :(得分:-1)

编辑:我错了。原始答案仅在仅限复选框的表单中才正确。

浏览器不会向服务器发送具有空“value”属性的字段。分配服务器端变量的更好方法是使用带有isset()条件的三元运算符:

<?php 
    $blank = isset($_POST['blank']) ? $POST['blank'] : '' ;
?>

更多关于php的三元运算符:http://us3.php.net/ternary#language.operators.comparison.ternary 请参阅“示例#2分配默认值”