【发布时间】:2011-07-03 22:27:23
【问题描述】:
这几天一直在为此苦苦挣扎。这是设置 - 我有一个父页面“support.php”有标签,当你点击一个标签时,它会通过 ajax 进入适当的表单。 (各部分的相关代码:)
AJAX 页面上的表单输入
<input type="text" class="numbers" name="captchaImage" id="SupportNumbers" size="6" value="" readonly>
<input type="text" class="numbers" name="SupportMath" id="SupportMath" size="6" maxlength="6" tabindex="9">
父页面 - support.php 调用“validation.js”,这是我的 jQuery.validate 脚本。
...
SupportMath: {
required: true,
equal: "<?php echo $randomNumTotal; ?>"
}
文件“random.php”的父页面上有一个.get命令
$.get('PHP/random.php', function (data){
$("#SupportNumbers").val(data);
});
<?php
$randomNum = rand(0,9);
$randomNum2 = rand(0,9);
echo $randomNum ."+". $randomNum2;
$randomNumTotal = $randomNum + $randomNum2;
?>
它会生成两个随机数,因此您可以将它们相加。验证检查以确保 生成的两个数字被正确相加。我似乎无法让所有这些部分都使用相同的数字,我可以让文本框“SupportNumbers”填充两个随机数字,比如“2 + 5”但是当我在“#SupportMath”中输入“7”时它显示错误消息。它应该是 $randomNumTotal 但我无法将它放到页面上,并让验证脚本检查它。 帮助。
我知道这很清楚,所以我试着解释更多 我的支持页面上有 5 个表格。为了减少混乱,我将它们放在垂直标签集中。我不希望我的 js 验证脚本出现在页面上,并且由于某些机器人遇到的一些问题,我不希望所有 5 个表单都隐藏/显示在页面上。所以我的解决方案是使用 AJAX(完成)引入表单并链接到验证脚本(完成)除了我们的“随机数学验证码”之外一切都很好,我可以将它放在一个文件中并使用“.get”命令填充包含两个随机数学问题的框,但无法获得验证的答案。希望这会有所帮助,下面的代码。
【问题讨论】:
-
使用 $_SESSION 变量来保存结果值,然后将产生结果的两个数字放在页面上。执行查询时,检查您的会话变量。
-
因此,如果我正确理解了新问题,那么您有一个 AJAX 脚本调用一个 PHP 文件,它执行两件事:创建一个数学问题和解决方案。它返回问题本身,但“存储”答案(至少在页面被调用时)。我认为您的问题是当您更改上下文时答案已经消失(即从“random.php”回到“validation.js”)我假设validation.js 在调用ajax 之前就已加载,因此您' 永远不会在没有使用其他东西的情况下对齐数字——正如我推荐的会话,但这似乎不是一个选择。
-
是的,这是正确的。我想用 ajax 引入我的表单,将验证加载到父页面和某种类型的验证码中。这可能吗?还是有更好的解决方案?
标签: php jquery validation