我正在使用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”。
其他所有内容都适用于表单,除了空白字段发布时,其值与其名称相匹配,而不是空白值。
有没有人遇到这个并知道补救措施?
答案 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分配默认值”