【问题标题】:form>table (ajax)>form表格>表格(ajax)>表格
【发布时间】:2010-12-28 00:03:53
【问题描述】:

我想为每个提交按钮执行不同的操作。例如,比较将转到“compare.php”,删除将转到“test.php”。我知道我不能在表格内做表格,但我不能分成两个表格,因为这是一张桌子。我想也许可以做

<?php if(isset($_POST["com"])){ javascript - link to compare.php}?>

但是我怎样才能将 _POST 发送到这个页面呢? 我还考虑将 ind 作为 _GET 发送,但用户可以选择多个(两个删除或两个比较) 当然,如果您有其他解决方案..

<html>
<head>
<script>
build ajax tbody...
for (i = 1; i <= numOfRows; i++)
{
oCell = oRow.insertCell(-1);
oCell.innerHTML = "<input type='checkbox' value='"+ ind +   "'name='com[]'>";
oCell = oRow.insertCell(-1);
oCell.innerHTML = "<input type='checkbox' value='"+ ind +   "'name='del[]' ;>";
.....
</script>
<body>
    <form method="post" action="test.php">
        <table>
            <thead>
             <tr>
                 <th><input type="submit" value="Compare" /></th>
                 <th><input type="submit" value="Delete" /></th>
             </tr>
            </thead>
            <tbody></tdbody>
         </table>
     </form>
</body>
</html>

谢谢!

【问题讨论】:

    标签: html ajax forms


    【解决方案1】:

    你可以简单地拥有:

    <input type="submit" value="Compare" onclick="this.form.action = 'someotherpage.php';" />
    

    这将在单击提交按钮时更改表单操作。

    【讨论】:

    • 很好,尽管您可能想使用&lt;form onsubmit=" 而不是&lt;input onclick="。并非每个表单提交都保证通过提交 按钮 - 例如在编辑字段中按下Enter 不能保证模拟点击第一个提交按钮(尽管有些浏览器会这样做)。
    • @Piskvor 关于Enter 键的好点,但根据单击的按钮,原始请求是不同的操作(至少我是这么理解的)所以猜测按下@987654326 @ 不是一个有效的选项。
    • @Shadow Wizard:嗯,该选项存在,它只是调用未指定的行为(表单将使用第一个 submit 按钮提交,或者根本没有 submit 按钮,具体取决于浏览器和版本)。 “嘿,用户,不要那样做”不是一个非常稳健的设计原则;)
    • @Piskvor 好吧,设置默认操作非常简单,不过只有 OP 可以告诉我们更多信息。 :)
    猜你喜欢
    • 2014-04-24
    • 1970-01-01
    • 2012-03-16
    • 1970-01-01
    • 2013-12-02
    • 1970-01-01
    • 2022-11-28
    • 1970-01-01
    • 2011-08-23
    相关资源
    最近更新 更多