0

我正在尝试使用 ajax 创建一些非常简单的服务器端表单验证,以检查用户输入的数据是否等于我在另一个页面上的数据。

例如,用户在文本框 (#TextBox1) 中输入数字 10,然后提交;然后 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" />
4

1 回答 1

1

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

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

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

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

我认为将有三个最容易实施的解决方案。

于 2013-10-16T16:12:11.757 回答