在while循环中提交表单后显示信息并将新记录上传到MySQL表中

时间:2013-12-13 01:45:26

标签: php jquery mysql loops form-submit

我在php循环中显示一些mysql记录,而每个记录都有自己的表单。我想在mysql表中上传一些数据,然后在点击所需的提交按钮后显示数据已正确发送的信息。
信息隐藏在两个div中 - “successReport”和“errorReport” 我在PHP中的代码看起来类似于:

while(){
    echo '<div class="someRow">
        <div>here i display record form mysql table<div>
        <div><form>here is my form with submit button</form></div>
        <div>here are my submit informations</div>
        </div>';
}

数据上传工作正常,但我的问题是 - 点击提交按钮后,信息div显示在所有可见行中,而不是仅显示一行(由我选择)。

这是我在循环中使用的脚本:

<script type="text/javascript">
    $(document).ready(function(){
        $('.lanparty_<?php echo $oferta['klucz']; ?>').on('submit',function(e) {
            $.ajax({
                url:'lanpartyZgloszenie.php',
                data:$(this).serialize(),
                type:'POST',
                success:function(data){
                    console.log(data);
                    $(this).next('.successReport').fadeIn('slow');
                },
                error:function(data){
                    $(this).next('.errorReport').fadeIn('slow');
                }
            });
            e.preventDefault(); 


        });
    });
</script>

任何想法如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

为您的successReport和errorReport div / s添加一个id +索引。 正如你在div上所做的那样--- $('。lanparty_')---

脚本上的示例

<script type="text/javascript">
$(document).ready(function(){
    $('.lanparty_<?php echo $oferta['klucz']; ?>').on('submit',function(e) {
        $.ajax({
            url:'lanpartyZgloszenie.php',
            data:$(this).serialize(),
            type:'POST',
            success:function(data){
                console.log(data);
                $(this).next('.successReport<?php echo $oferta['klucz']';?>).fadeIn('slow');
            },
            error:function(data){
                $(this).next('.errorReport<?php echo $oferta['klucz']';?>).fadeIn('slow');
            }
        });
        e.preventDefault(); 


    });
});
</script>



 hope my idea could help ..