2011-06-06 117 views
0

我用HTML/CSS/PHP完成了一个简单的,基于象棋的爱好项目。它根据类型,位置和颜色列出并显示给定作品的可能移动。不过,该计划并未考虑董事会中的任何其他部分。如何通过JavaScript验证此表单?

http://freemusing.com/chess/

正如你可以看到,表单工作正常,有服务器端验证。我的问题是我对JavaScript不够熟悉,无法从头开始为表单的两个文本字段翻译服务器端验证[为清晰起见编辑]。有人可以帮助复制我的PHP验证代码在JavaScript中的两个输入?我不想使用任何框架,因为我想最终精通JS。

任何帮助理解。

+5

我怀疑任何人都可以免费获得一份大的工作。 – 2011-06-06 15:23:00

+0

如果你有它的工作,我建议你使用一些基于Ajax的验证。它为您节省了翻译js中所有内容的麻烦。 – Arend 2011-06-06 18:09:15

+0

我应该更清楚;我只是试图在提交值之前验证JS中的两个输入值。我并不是想暗示我想重新编写JS中的所有服务器端代码(尽管我想最终尝试这些代码)。 – 2011-06-07 16:19:20

回答

1

好的,这是第一个字段的验证码。 (书面即兴,在我的脑海它的工作原理,但现实生活中,有时吸加上我习惯了,现在使用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();"> 

我留下错误信息显示为一个简单的练习留给读者。

+0

感谢您的帮助。我会在这个周末尝试一下。 – 2011-06-10 12:32:19