来自jquery $ .post的POST信息是否在父页面中发送

时间:2012-07-17 06:26:54

标签: php jquery mysql post

我有一个父页面,里面有一个下拉列表。使用onchange事件,使用$.post()将数据发布到第二页。此页面使用已发布的变量输出mysql数据,每行都有一个复选框。然后使用jquery $('#DIV name').html(output).show();

将此页面输出插入到父页面中

然后,用户可以看到带有相应复选框的mysql表行。然后他们选择他们想要的复选框并说出删除。删除是表单提交按钮。

我的问题是,当他们点击删除时如何从第二页获取表单数据并将其与父页面的数据一起发布,以便我可以使用$_POST[]获取复选框信息并删除选定的表行?

父页面代码的示例是:

的javascript / jquery的

<script type="text/javascript">
        function get(row){      //row being processed, defined in onchange="get(x)"
            ('getpeopleinjobs.php',{        //data posted to external page
        postvarposition: form["position"+row].value,        //variable equal to input box, sent to external page
        postvarjob: form["job"+row].value,      //variable equal to input box, sent to external page
        postvarperson: form["person"+row].value,        //variable equal to drop down list, sent to external page
        postrow: row},      //variable equal row being processed, sent to external page
            function(output){ 
                $('#training'+row).html(output).show();     //display external results in row div
                //popupWindow = window.open('t4.php?variable1Name=Vicki&amp;variable2Name=Maulline','popUpWindow','height=400,width=1000,left=10,top=10,resizable=yes,scrollbars=yes,toolbar=no,menubar=no,location=no,directories=no,status=yes')
                    });
                }
</script>

表单数据

 <tr>
    <td>
    <?PHP echo $i; ?>
    </td>
    <td>
        <input type=text NAME="position<?PHP echo $i; ?>" id="position<?PHP echo $i; ?>"  style="border: 1px solid #2608c3;color:red; width=200px" value="<? echo mysql_result($resultpositionjob,$r,0);?>"> 
    </td>
    <td>
        <input type=text NAME="job<?PHP echo $i; ?>" id="job<?PHP echo $i; ?>"  style="border: 1px solid #2608c3;color:red; width=200px" value="<? echo mysql_result($resultpositionjob,$r,1);?>"> 
    </td>
    <td>
        <SELECT NAME="person<?PHP echo $i; ?>" id="person<?PHP echo $i; ?>" style="border: 1px solid #2608c3;color:red; width=200px" onchange="get(<? echo $i; ?>);"> 
        <OPTION VALUE=0 >
        <?=$optionpeople?> 
        </SELECT>
    </td>
    <td onclick="train(<? echo $i; ?>);" style="color:grey; cursor: pointer;">
    <div id="training<?PHP echo $i; ?>"><font color=grey size=2></div>
    </td>
    <td>
        &nbsp;
    </td>
    </tr>
    <?PHP
        $i++;
        $r++;
        }
    ?>

jquery调用的第二个页面或页面,输出为:

        echo 
        "
        <table border=0 width=400>
            <tr>
                <td width=20>
                    &nbsp;
                </td>
                <td width=150>
                    <b>Position<b>
                </td>
                <td>
                    <b>Job<b>
                </td>
            </tr>
        ";
        while($line = mysql_fetch_array($result))
   {
        echo "
            <tr>
                <td>
                ";
        ?>
        <input type=checkbox name="delete[]" id="delete[]" value="<?php echo $rows['id']; ?>">
        <?PHP
        echo    "
                </td>
                <td>
                ";
        echo $line['position'];
        echo    "
                </td>
                <td>
                ";
        echo $line['job'];
        echo    "
                </td>           
            </tr>
            ";
        } 
            ?>
            <tr>
                <td>
                    <input type=submit name="update" id="update" value="Update">
                </td>
            </tr>
        </table>
        <?PHP       
 }

要重复,我希望第二页中的table复选框元素与父页面的表单数据一起发布。

这是可能的,因为我的测试没有给我任何运气。

我做错了什么或者我是否需要修改jquery代码?

一如既往地感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

没有第二页。确实 - 您正在从第二页加载HTML内容,但它正在插入父页面。从浏览器的角度来看,所有内容都位于同一页面中。只要它们位于元素内的DOM内,就应该包含这些字段。使用浏览器或Firebug for Firefox的开发人员工具确保将内容放在DOM中的表单元素中。开发人员工具还应该能够准确地向您显示提交表单时提交给服务器的变量。

“表单”的“操作”参数将指示内容的提交位置(并且您似乎已将该部分从HTML中删除,因此无法说明您是否遗漏了或者未将其包含在内在粘贴。