Как проверить эту форму с помощью JavaScript? - PullRequest
0 голосов
/ 06 июня 2011

Я сделал простой шахматный хобби-проект с HTML / CSS / PHP. Он перечисляет и отображает возможные ходы для данного куска на основе его типа, местоположения и цвета. Однако программа не рассматривает никаких других фигур на доске.

http://freemusing.com/chess/

Как видите, форма отлично работает и имеет проверку на стороне сервера. Моя проблема в том, что я недостаточно знаком с JavaScript, чтобы перевести проверку на стороне сервера [отредактировано для ясности] двух текстовых полей формы с нуля. Может ли кто-нибудь помочь повторить мой код проверки PHP для двух входных данных в JavaScript? Я не хочу использовать какие-либо фреймворки, потому что хочу быть хорошо разбирающимся в JS.

Любая помощь приветствуется.

1 Ответ

1 голос
/ 09 июня 2011

ОК, вот код проверки для первого поля.(Снято с манжеты, у меня в голове это работает, но реальная жизнь иногда отстой. Плюс я так привык к использованию 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();">

Я оставляю отображение сообщений об ошибках как простое упражнение для читателя.

...