0

我需要用 php 和 javascript 验证一个空字段,但是这两种方法都失败了。

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

//谢谢你的帮助。

4

5 回答 5

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

于 2012-08-13T22:30:14.173 回答
1

希望这是更简单的答案:

$pickupaddress = trim($_POST['pickupaddress']); //trims the string
    if (empty($pickupaddress)){   //if empty field
    $err.="Please provide pick up address.";
}
于 2012-08-13T22:59:52.363 回答
1
$cid = $_POST['category'];

if (!empty($_POST['category']))
{
   echo "<script>alert('empty field');</script>";
}
于 2017-10-04T11:52:11.737 回答
0

你在哪里定义pickupaddress?是在表格之前还是之后?如果未定义变量,并且根据您的服务器配置,value输入字段可能是

Notice: undefined variable pickupaddress

从而使价值!= ''

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

于 2012-08-13T22:26:15.080 回答
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方式对我有用;)(如果我不写任何东西,则会显示该消息)

于 2012-08-13T22:35:19.440 回答