我正在尝试使用ajax创建一些非常简单的服务器端表单验证,以检查用户输入的数据是否等于我在另一页上的数据。
例如,用户在文本框中输入数字10(#TextBox1),然后提交;然后ajax应该检查这个数字是否与我在另一个页面上的文本框(#TextBox2)中的数字相匹配,并返回相关信息。
目前我的代码返回false,但实际上这可能吗?
以下是我一直在玩的一些代码:
<!-- Page 1 -->
<form method="post">
<input type="text" id="TextBox1" name="TextBox1" />
<input type="submit" value="Submit" />
</form>
<script type="text/javascript">
$.ajax({
type: "POST",
url: "/myvalidationpage.aspx",
data: '{number: "' + $("#TextBox1").val() + '" }',
success: function (n) {
if(n === $("#TextBox2").val()){
alert("true");
}else{
alert("false");
}
}
});
</script>
<!-- Page 2 (/myvalidationpage.aspx) -->
<input type="text" value="10" id="TextBox2" name="TextBox2" />
答案 0 :(得分:1)
PHP不能检查页面上的值而不将其发送到服务器。
一种可能的解决方案是从第一页发送信息,并将其保存在会话变量中。然后,在下一页上,触发一个函数,询问会话是否是相同的数字。
另一种解决方案是使用cookie来存储第一页的信息,并在第2页上进行检查。
如果您要向更新的浏览器进行营销,则可以使用HTML5的本地存储机制。这与将信息存储在cookie中非常相似,但我相信它无法关闭。
我认为有三种最简单的解决方案可以实施。