通过比较不同页面上的两个文本框,服务器端表单验证AJAX

时间:2013-10-16 16:06:21

标签: javascript jquery ajax

我正在尝试使用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" />

1 个答案:

答案 0 :(得分:1)

PHP不能检查页面上的值而不将其发送到服务器。

一种可能的解决方案是从第一页发送信息,并将其保存在会话变量中。然后,在下一页上,触发一个函数,询问会话是否是相同的数字。

另一种解决方案是使用cookie来存储第一页的信息,并在第2页上进行检查。

如果您要向更新的浏览器进行营销,则可以使用HTML5的本地存储机制。这与将信息存储在cookie中非常相似,但我相信它无法关闭。

我认为有三种最简单的解决方案可以实施。