-1

わかりました、私は小さな問題を抱えています。DIV を含むページがあります。ページが読み込まれると、DIV に別のページが読み込まれます。このために、以下のコードの AJAX である JQuery ロード関数を使用しました。

$(document).ready(function() {
    $(".div").hide().load("page.php").fadeIn(5000);
});

良いです。すべて問題ありません。ページが読み込まれて DIV に表示されるときに問題はありません。

さて、DIV に表示されるこのページには、テキストエリアがあります。このページには、テキストエリア用の PHP 検証コードがあります。テキストエリアが空の場合、ユーザーは送信前にメッセージを取得して入力します。以下はPHPコードです。

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if (isset($_POST['textfirst'])) {

$textarea = strip_tags($_POST['textfirst']);

if (empty($textarea)) {
echo "You have to fill your answer";    
} else {
bla bla bla bla bla......
}
}
}

ここでも、何も問題はありません。PHP 検証は完全に機能しています。

フォームが空で送信されたときに問題が発生し、ページが DIV にページをロードし、PHP からのエラー メッセージが表示されません。なんで?つまり、ユーザーがテキストエリアに入力していない場合、入力するメッセージを受け取りますが、ユーザーが空のフォームを送信すると、ページがリロードされ、DIV に他のページが再度読み込まれるため、エラーは発生しません。メッセージが表示されます。

感謝!

4

1 に答える 1

0

divにロードされるフォームのターゲットが何であるかによって異なります。for のない元のページを投稿しているようです。処理ロジック。これは本質的に、元のページをリロードするだけで何もしません。

AJAX 経由で読み込まれる div 内のフォームは、実際のフォーム処理を行うページを指す必要があります。最初のページの読み込み後に AJAX を介して読み込まれたページが投稿を処理できることを期待して、元のページを単純にリロードすることはできません。

于 2012-11-01T04:23:08.600 に答える