如何使用不同的操作提交表单

时间:2012-08-18 18:06:10

标签: php html

我正在尝试使用提交按钮从数据库中检索信息,这些按钮具有相同的名称。我给的是行的id值,所以我可以做出不同的动作,但我无法决定如何做到这一点。

例如尝试这样的时候

<form name="form" action="index.php" method="post">
<input type="image" name="x" value="1">

<input type="image" name="x" value="2">
</form>

和php =&gt;

<?php
if (isset($_POST['x'])){
    echo $_POST['x'];
}
?>
在Chrome中它可以正常工作,但在其他浏览器中它没有,任何想法?谢谢

更新

if ($r = $con->query("SELECT * FROM table")){
    if ($row = $r->fetch_assoc()){
        echo "<input type='image' name='submit' value='" . $row['id'] . "'>";
        // and other data which I need to
    }
    $r->free();
}

我的意思是这样的

1 个答案:

答案 0 :(得分:1)

HTML

<form id="form1" action="index.php" method="post">
   <input type="button" name="x" value="1">    
   <input type="button" name="x" value="2">
   <input type="text" name="action" id="action">
</form>​

的JavaScript

var nodes = document.getElementById('form1').childNodes;
for(var i=0; i<nodes.length; i++) {    
    nodes[i].onclick = function(){        
        if(this.name == 'x'){
          document.getElementById('action').value = this.value;
        }
    };
}

PHP

if(isset($_POST['action'])){

   if($_POST['action'] == "1"){
      ...
   }

   if($_POST['action'] == "2"){
      ...
   }

}

http://jsfiddle.net/qLubz/

准备好部署时,只需将type="text"更改为type="hidden"

或者没有JavaScript:

<form action="index.php" method="post">
   <button type="submit" name="action" value="delete">Delete</button>
</form>​
<form action="index.php" method="post">
   <button type="submit" name="action" value="copy">Copy</button>
</form>​
<form action="index.php" method="post">
   <button type="submit" name="action" value="edit">Edit</button>
</form>​