0

我有一个父页面,其中有一个下拉列表。使用 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       
 }

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

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

我做错了什么还是需要修改jquery代码?

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

4

1 回答 1

1

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

'form' 的 'action' 参数将指示提交内容的位置(并且您似乎已将该部分留在 HTML 之外,因此无法确定您是否已将其遗漏或只是未将其包含在粘贴中.

于 2012-07-17T09:28:32.757 回答