0

HTML/CSS/PHP を使用して、チェスをベースにしたシンプルな趣味のプロジェクトを作成しました。タイプ、場所、色に基づいて、特定のピースの可能な動きをリストして表示します。ただし、プログラムはボード上の他の部分を考慮しません。

http://freemusing.com/chess/

ご覧のとおり、フォームは正常に機能し、サーバー側の検証が行われています。私の問題は、フォームの 2 つのテキスト フィールドのサーバー側の検証 [わかりやすくするために編集] を最初から翻訳するほど JavaScript に精通していないことです。JavaScriptの 2 つの入力に対して、私の PHP 検証コードを複製するのを手伝ってくれる人はいますか? 最終的にJSに精通したいので、フレームワークは使いたくありません。

どんな助けでも大歓迎です。

4

1 に答える 1

1

OK、これが最初のフィールドの検証コードです。(カフスから書いた、頭の中では機能しますが、実際の生活は時々最悪です。さらに、今ではjQueryの使用に慣れているため、基本に戻るのは困難です。)

var validatePiece = function (value) {
  var legalValues = " p pawn b bishop r rook n knight q queen k king ";
  return legalValues.indexOf(" " + value + " ") !== -1;
};

次のように呼び出します。

var isPieceValid = validatePiece(document.getElementById("txt-piece").value;

フォームの送信ハンドラーでこれを呼び出す必要があります。ハンドラーは次のとおりです。

var validateForm = function () {
  var isPieceValid = validatePiece(document.getElementById("txt-piece").value);
  var isSquareValid = validateSquare(...); 
  return isPieceValid && isSquareValid;
};

送信時にこれを呼び出すようにフォーム要素の定義を変更します。

<form action="chess_moves.php" method="get" onsubmit="return validateForm();">

エラー メッセージの表示は、読者の簡単な演習として残しておきます。

于 2011-06-09T02:06:23.953 に答える