1

送信時に検証したいフォームがあります。

私は次のJavaScriptを持っています...

var data = $('.sighting').serialize();
$.ajax({ url: "submit-process.php",
         data: data,
         type: "POST",
         success: function(data){
             $(".result").text('Thank you for your assistance.');
         },
         error: function(data) {
             $(".result").text(data);
         }
}); 

そして、私は次のPHPを持っています

<?php   
    if('date-seen' == '') { 
        echo 'fail' 
    } else {    
        foreach ($_POST as $key => $value)
            $message .= "Field ".htmlentities($key)." is ".htmlentities($value)."\r\n";

        mail('liam@site.co.uk', 'sghting', $message);    
    }   
?>

「表示された日付」入力が空白のままの場合、「失敗」の代わりに [オブジェクト、オブジェクト] を受け取ります。このフィールドに入力して再送信しようとすると、送信されません。私の PHP のエラーだと思いますか?

どんな助けでも素晴らしいでしょう、ありがとう。

4

1 に答える 1

1

'date-seen' == ''2 つの文字列リテラルが互いに等しい (そして等しくない) かどうかをテストします。

あなたはおそらくしたいです$_POST['date-seen']

また、おそらくテストを作成したいと思うでしょう:

if ( !empty($_POST['date-seen']) ) {

...存在しない変数を空の文字列と比較する代わりに。

于 2012-12-16T16:14:17.947 に答える