2012-08-13 111 views
0

我需要使用php和javascript验证空字段,但两种方法都失败。使用php验证空字段

<form method="POST" name="contact_form" 
action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>"> 
<input type="text" name="pickupaddress" value="<? 
if($pickupaddress == ''){ 
echo "";} 
else{echo htmlentities($pickupaddress);}?> " id="pickupaddress"/> 
<input type ="submit" name="submit" value"Reserve"/> 
</form> 

//////// Php validation DOES NOT WORK//////// 

$pickupaddress =''; 
$err =''; 

$pickupaddress = $_POST['pickupaddress']; 

if($pickupaddress == ''){ //if empty field, I also tried == "" 
$err.="Please provide pick up address."; 
} 

///// Javascript validation does not work. 


if(form.pickupaddress ==""){ 
alert("empty address!"); 
} 

//当我点击提交没有任何反应。 //我想这个问题是

htmlentities($pickupaddress); 

//感谢您的帮助。

+0

var_dump($ _ POST ['pickup地址']);回报什么? – 2012-08-13 22:25:55

+1

java!= javascript。 – Hamish 2012-08-13 22:35:25

+0

您的拾取地址字段值的值有空白。 ..因为''!=''您的验证器永远不会工作。 – 2012-08-13 22:40:45

回答

1

这里是希望简单的答案:

$pickupaddress = trim($_POST['pickupaddress']); //trims the string 
    if (empty($pickupaddress)){ //if empty field 
    $err.="Please provide pick up address."; 
} 
+0

谢谢Stano,这解决了我的问题。 – user1596616 2012-08-14 01:09:43

0

你在哪里定义pickupaddress?在表单之前还是之后?如果变量没有被定义,并且根据服务器配置中,输入的value字段可以是

Notice: undefined variable pickupaddress 

从而制作的值!= ''

查看您的页面源代码以确保value确实为空。

1

在PHP方面,您可以尝试修剪该值,然后在下一行使用empty(),尽管这也会使0,false,null和其他此类值无效。或者你可以尝试使用isset。

对于JavaScript端,你可以试试这个功能:

function IsEmpty(aTextField) { 
    if ((aTextField.value.length==0) || 
     (aTextField.value==null)) { 
     return true; 
    } 
    else { return false; } 
} 

这里找到:http://www.codetoad.com/javascript/isempty.asp

0

有一个spave“”在你的字符串:echo htmlentities($pickupaddress);}?> " 也许这是原因,因为它是不是一个空的字符串,但它是一个空间?

<form method="POST" name="contact_form" 
action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>"> 

<input type="text" name="pickupaddress" value="<? 
if($pickupaddress != '') { 
    echo htmlentities($pickupaddress); 
}?>" id="pickupaddress"/> 
<input type ="submit" name="submit" value"Reserve"/> 

</form> 

,我猜你可能想,如果后值设置为已检查:

if(isset($_POST['pickupaddress'])) { 
    $pickupaddress = $_POST['pickupaddress']; 
} 

php的方式为我的作品像;)(如果我不写任何东西显示消息)

1
$cid = $_POST['category']; 

if (!empty($_POST['category'])) 
{ 
    echo "<script>alert('empty field');</script>"; 
} 
+3

嗨,欢迎来到SO!虽然代码可能会说明自己提供的一些细节将有助于提高答案的质量! – mrun 2017-10-04 12:10:41