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

Server-side form validation AJAX by comparing two textboxes on different pages

本文关键字:文本 两个 AJAX 验证 表单 比较 服务器端      更新时间:2023-09-26

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

PHP 无法在不发送到服务器的情况下检查页面上的值。

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

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

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

我认为有三种最简单的解决方案来实现。