PHP jQuery验证 - php

现在已经为此苦苦挣扎了几天。这是设置-我有一个父页面“ 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”命令填充包含两个随机数学问题的框,但无法获得答案进行验证。希望对您有所帮助,请在下面的代码中进行。

参考方案

说明:(逐步)

我们使用您的方法在页面加载时生成从1到9的两个随机数
我们添加了一个额外的输入<input type="hidden" name="math" id="math"/>,因为您正在使用readonly字段,所以此字段是必需的,现在readonly字段不是通过表单提交的...这样,我们向用户显示了一个,而另一个隐藏,这将被提交;
我们得到的是#mathstring值,例如:5+2,因此我们需要将其转换为两个int并将其求和。
最后,我们根据用户输入的SUM检查#SupportMath

演示:https://so.lucafilosofi.com/php-jquery-validation/

PHP(检查与...的匹配项)

if ( isset($_POST['post']) ) {  
  $math = explode('+',trim($_POST['math']));
  $sum = ( (int)$math[0] + (int)$math[1] );
  $message = 'error';
  if ( (int)$sum === (int)$_POST['SupportMath'] ) {
  $message = 'success';
  }
  echo $message;
}

jQuery(伪代码...)

$(function() {
    $.get('random.php',function(data) {
        $("#SupportNumbers,#math").val(data);
    });
    $('#form').submit(function(e) {
        e.preventDefault();
        var query = $(this).serialize();
        $.ajax({
            type: "POST",
            url: "post.php",
            data: "post=post&" + query,
            success: function(msg) {
                if (msg.indexOf('success') == -1) {
                    alert('error');
                } else {
                    alert('cURL');
                }
            }
        });
    });
});

的HTML

<input type="text" class="numbers" name="captchaImage" id="SupportNumbers" size="6" readonly>
<input type="hidden" name="math" id="math"/>
<input type="text" class="numbers" name="SupportMath"  id="SupportMath" size="6" maxlength="6" tabindex="9">

PHP:将数组值加在一起 - php

我相信这比标题听起来要难一些,但我可能完全错了。我有一个像这样的数组:[["londrina",15],["cascavel",34],["londrina",23],['tiradentes',34],['tiradentes',21]] 我希望能够采用通用…

PHP JQuery复选框 - php

我有以下片段。 var myData = { video: $("input[name='video[]']:checked").serialize(), sinopse: $("#sinopse").val(), dia: $("#dia").val(), quem: $(&#…

PHP:获取调用引用的数组名称 - php

假定以下函数并调用:function doSomething( &$someArray ) { // Do something to $someArray } $names=array("John", "Paul", "George", "Ringo"); doSomet…

如何从php中获取datatables jQuery插件的json数据 - php

我是PHP的新手,正在尝试使用Datatables jQuery插件。我知道我必须从.php文件中获取数据,然后在数据表中使用它,但是我似乎无法通过ajax将其传递给数据表。我设法从数据库中获取数据,并对其进行json编码,但是后来我不知道如何在我的index.php文件中调用它,并在其中显示它。我究竟做错了什么?这是我的代码:HTML(已编辑): <…

PHP-MySQL结果转换为JSON - php

我试图了解如何将MySQL结果转换为JSON格式,以便以后可以在Javascript中使用此JSON来构建HTML表。但是我的代码只是产生大量的空值,我还不明白为什么。$result = mysqli_query($con, "SELECT * FROM Customers"); $test = json_encode($result);…