Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从foreach生成的php Jquery表单_Php_Jquery_Sql_Ajax - Fatal编程技术网

从foreach生成的php Jquery表单

从foreach生成的php Jquery表单,php,jquery,sql,ajax,Php,Jquery,Sql,Ajax,我有一个foreach,它从sqlselect生成数据。当用户单击div时,会出现一条文本消息,其中的数据将被提交 整个脚本工作,但它总是提交最后一个表单4生成。。。他没有以正确的形式为目标 有一种方法可以锚定要提交的正确表单吗?提前感谢大家 <script> function(response) { $('#mydiv').text('Points gained');

我有一个foreach,它从sqlselect生成数据。当用户单击div时,会出现一条文本消息,其中的数据将被提交

整个脚本工作,但它总是提交最后一个表单4生成。。。他没有以正确的形式为目标

有一种方法可以锚定要提交的正确表单吗?提前感谢大家

<script>
function(response) {

                $('#mydiv').text('Points gained');                                   
                $("#form").submit()


 }</script>

 foreach ($usermeta as $post) {

 <form method="post" id="form" action="<?php the_permalink(); ?>">

 <div id="mydiv">

 click here to earn points.

 </div>

 <input type="hidden" name="points" id="points" value="<?php echo $post->points; ?>"                         class="regular-text" />

 </form>

 }

每个表单都有相同的id。您需要确保表单的id是唯一的

我没有足够的代表发表评论,但这是你可以做的

<script>
    $(document).ready(function() {
        $('.mydiv').click(function() {
            $(this).text('Points gained').closest('.form').submit();
        });
    });
</script>

<?php foreach ($usermeta as $post): ?>

<form method="post" class="form" action="<?php the_permalink(); ?>">

    <div class="mydiv">
        click here to earn points.
    </div>
    <input type="hidden" name="points" class="points" value="<?php echo $post->points; ?>" class="regular-text" />
</form>
<?php endforeach; ?>

我找到了这样的解决办法

在开会之前,我宣布

 $i = 1; 
然后

所以现在我有了

<form class="1">
<form class="2">
<form class="3">
<form class="4">

依此类推,然后我从sql select Puting limit 10中设置了显示元素的限制。

问题在于表单id,因为您对所有表单使用了相同的id。顺便说一句,这不是有效的w3c标准,解决方案是使用$this。parentsform:first.submit,但我认为您应该在任何时候为每个表单提供唯一的id您好,谢谢您的回答,由于sql按点生成用户id,我使用$post->user\u id正确地给出id。然后我更改$form>并且foreach生成form1 form2 form3。。。但是脚本可以针对右侧。。并始终提交最后一份表格…….我尝试过你的方式,但不起作用,始终提交最后一份表格,文本显示在最后一个div上无论如何谢谢你
$i ++; 
<form class="1">
<form class="2">
<form class="3">
<form class="4">