jQueryを使用してシンプルで機能するAJAXフォームを作成しました。フォームは、送信前にjQueryで検証され、PHPで再度送信に成功した後に検証されます。
唯一の問題はエラー処理です。PHPチェックですべてのフィールドに問題がないことが返された場合、成功メッセージを表示します。エラーが発生した場合は、単に「エラーが発生しました」と表示します。
PHPからjQueryにデータを送り返して、無効なフィールドを無効としてマークできるようにするにはどうすればよいですか?
または、動的強調表示でJavaScriptをオンにする必要があり、JavaScriptがオンになっている場合、フォームを間違って送信できないため、このような形式のエラー処理は不要ですか?
基本的に、私の有効なチェックは次のようになります(もちろん簡略化されています):
function checkSomething( $something ) {
$valid = true;
if ( strlen( $something ) === 0 ) {
$valid = false;
}
return $valid;
}
スクリプトの最後で、次のようにします。
if ( checkSomething( $something ) && checkThis( $this ) && checkThat( $that ) ) {
echo "success";
} else {
echo "error";
}
そして、私のJavaScript / jQueryコードでは、次のようになります。
$.ajax({
url: "form.php",
type: "POST",
data: string,
success: function ( result ) {
if ( result == "success" ) {
alert( "success" );
} else {
alert( "error" );
}
}
});