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 に答える
0

どこで定義していpickupaddressますか? フォームの前ですか、それとも後ですか?変数が定義されていない場合、サーバーの構成によってvalueは、入力のフィールドが次のようになる可能性があります。

Notice: undefined variable pickupaddress

したがって、値を作成します!= ''

ページ ソースを表示して、valueが実際に空であることを確認します。

于 2012-08-13T22:26:15.080 に答える
0

あなたの文字列に " " という空白がありました: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 に答える