0

同じ名前の送信ボタンを使用してデータベースから情報を取得しようとしています。行の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=>

<?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();
}

私はこのように意味しました

4

1 に答える 1

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>​
于 2012-08-18T18:36:43.963 に答える