0

我的网页上有多个图像,我将它们用作按钮,我想知道用户单击了哪个图像并将其发布到另一个表单。我只关心单击了哪个图像,或者通过将任何值作为标志关联到每个图像并将其发布到其他形式或任何其他方式来完成。这是我发现相关的链接,但它不起作用PHP 多图像按钮提交表单。我需要图像的值以进行进一步比较。

这是我的代码:

<FORM NAME ="form1" METHOD ="POST" ACTION = "SimulatedOutput.php">
<input type="image" name="rateButton[1]" src="observation1.jpg" width="400" height="300" value="1">T
<input type="image" name="rateButton[2]" src="observation2.jpg" width="400" height="300" value="1">T
<input type="image" name="rateButton[3]" src="observation3.jpg" width="400" height="300" value="1">T
<input type="image" name="rateButton[4]" src="observation4.jpg" width="400" height="300" value="1">T

SimulatedOutput.php
<?php
if ( isset( $_POST['rateButton'] ) ) {
        foreach ( $_POST['rateButton'] as $key => $value ) {
        echo 'Image number '.$key.' was clicked.';

    }
    if(name==rateButton[1])
    {
      //do something as required
    }
    else if(name==rateButton[2])
    {   .....}

    }
?>
4

3 回答 3

1

即使您这样做的方式可能不是最优雅的方式,假设这正是您想要的方式,那么也许这段代码会有所帮助:

<?
    if( $_POST['rateButton'] ) {
        $keys = array_keys($_POST['rateButton']);
        $clicked = $keys[0];
        print "Image pressed: $clicked";
    }
?>

<form method="post">
    <input type="image" name="rateButton[1]" src="observation1.jpg" width="400" height="300" value="1">T
    <input type="image" name="rateButton[2]" src="observation2.jpg" width="400" height="300" value="1">T
    <input type="image" name="rateButton[3]" src="observation3.jpg" width="400" height="300" value="1">T
    <input type="image" name="rateButton[4]" src="observation4.jpg" width="400" height="300" value="1">T
</form>
于 2013-05-29T14:06:11.477 回答
1

您可以简单地使用图像<a>

HTML 代码:

<a href="SimulatedOutput.php?value=1"><img src="http://yoursite.com/image1.jpg"></a>
<a href="SimulatedOutput.php?value=2"><img src="http://yoursite.com/image2.jpg"></a>
<a href="SimulatedOutput.php?value=3"><img src="http://yoursite.com/image3.jpg"></a>

PHP代码:

if(isset($_GET['value'])) 
{
    $your_value = $_GET['value'];
}

if($your_value=="1")
{
   echo 'Image number '.$your_value.' was clicked.';
}
else if($your_value=="2")
{   
    echo 'Image number '.$your_value.' was clicked.';

}else{
    echo 'Image number '.$your_value.' was clicked.';
}

这是一个非常简单的代码,可以让您了解基础知识。您可以在此处使用 SWITCH 或简单地获取值并基于它执行您的功能。但是上面的代码应该给你足够的信息来开始。

于 2013-05-29T14:06:46.727 回答
0

如果您需要将其作为帖子进行,一种方法是使用将方法设置为 post 的表单:

<form method=POST id=x>
  <input type="image" name="rateButton[1]" src="observation1.jpg" width="400" height="300" value="1" onclick='document.getElementById("x").submit();'>T
  <input type="image" name="rateButton[2]" src="observation2.jpg" width="400" height="300" value="1" onclick='document.getElementById("x").submit();'>T
  <input type="image" name="rateButton[3]" src="observation3.jpg" width="400" height="300" value="1" onclick='document.getElementById("x").submit();'>T
  <input type="image" name="rateButton[4]" src="observation4.jpg" width="400" height="300" value="1" onclick='document.getElementById("x").submit();'>T
</form>
<?php
if ( isset( $_POST['rateButton'] ) ) {
    foreach ( $_POST['rateButton'] as $key => $value ) {
        echo 'Image number '.$key.' was clicked.';
        switch ($key) {
                case 1:
                // Do something for button 1
                break;
                ///...
        }
    }

}
?>
于 2013-05-29T14:09:30.217 回答