有目的地不断提交表格?

时间:2013-09-06 07:06:18

标签: php javascript jquery http post

我正在尝试自动化流程。

提交时我有一个表单向PHP文件发出$ .post()请求并将结果返回给页面。

我想知道如何根据用户设置的请求数量以及根据最后结果更改请求设置的自定义设置发送X数量的POST请求。

如何使用jQuery / JS / PHP实现这一目标?

示例:http://puu.sh/4kipZ.jpg

您可以选择所需的请求数量并自定义参数(On win,On Loss)。

感谢。

2 个答案:

答案 0 :(得分:0)

您可以为请求的次数定义constant in PHP。然后你se it in JQuery

在PHP中

define('REQUEST_AMOUNT', X);

在HTML中

<input type='hidden' id='amount', val='<?PHP echo REQUEST_AMOUNT;?>'>

IN JQUERY

var amount = $('#amount').val();

现在amount是您必须提出请求的次数

答案 1 :(得分:0)

这应该会让你知道如何做到这一点。如您所见,AJAX是关键。

请注意,$.post()几乎与使用$.ajax()完全相同 - 但$.post()有一些硬编码设置。我开始使用的结构通常最简单,然后继续使用其他格式,基于承诺等。

抱歉,不能为此做一个jsFiddle,因为AJAX不能在jsFiddle上运行。但是,这个答案是完全独立的。只需将其复制/粘贴到两个文件中即可运行:

index.php (或任何你想要的名字)
your_php_processor.php (如果重命名文件,还必须在ajax代码块中重命名)


HTML和Javascript / jQuery:

<html>
    <head>
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>

        <script type="text/javascript">
            $(document).ready(function() {
                var numrolls, ta;
                $('#txtArea').attr({'disabled':'disabled'});

                $('#gobutt').click(function() {
                    numrolls = $('#rollnum').val();
                    $('#txtArea').html('Results of ' +numrolls+ ' automated rolls:\r\n\r\n');
                    $.ajax({
                        type: "POST",
                        url: "your_php_processor.php",
                        data: 'rolls=' + numrolls,
                        success:function(data){
                            ta = $('#txtArea').val() + '\r\n';
                            $('#txtArea').val(ta + data);
                        }
                    });

                });


            }); //END $(document).ready()

        </script>
    </head>
<body>

    Number of rolls to automate:<br>
    <input type="text" id="rollnum" /><input type="button" id="gobutt" value="Go!" /><br>
    <br>
    Results:<br>
    <textarea id="txtArea" rows="20" cols="30" ></textarea>

</body>
</html>

<强> your_php_processor.php

<?php

$rr = $_POST['rolls'];

$all = '';

for ($i=1; $i<=$rr; $i++) {
    $rand = mt_rand(1, 6);
    $all .= $rand . "\r\n";
}

echo $all;

有关AJAX的更多信息/示例,请参阅simple examples in this SO post

在讨论使用各种内置随机数生成器的合法性时,您可能还会感兴趣the comments following this article