在php中将图像值发送到第二个表单

在php中将图像值发送到第二个表单,php,Php,我有下面的场景- 用户单击图像以搜索特定品牌的车辆。然后,该图像的值必须进入隐藏框,我将在其中将返回的值发布到另一个表单。我似乎无法得到返回的值 我的代码 <form action="searchbrand.php" method="POST" name="frmbrand"> <!--First row of logos...--> <table class="whitelogo"> <tr> <td align="c

我有下面的场景-

用户单击图像以搜索特定品牌的车辆。然后,该图像的值必须进入隐藏框,我将在其中将返回的值发布到另一个表单。我似乎无法得到返回的值

我的代码

<form action="searchbrand.php" method="POST" name="frmbrand">
 <!--First row of logos...-->   
 <table class="whitelogo">
  <tr>
    <td align="center">
        <p style="height:5px"></p>
        <input type="image" name="brand" id="brand" value="Alfa Romeo" src="images/carlogos/alfa.jpg" height="55px" width="55px" title="View our Alfa Romeo Selection" alt="Alfa Romeo" onClick="javascript:document.submitForm.submit();" />
    </td>
    <td align="center">
        <p style="height:5px"></p>
        <input type="image" name="brand" id="brand" value="Aston Martin" src="images/carlogos/aston.jpg" height="55px" width="55px" title="View our Aston Martin Selection" alt="Aston Martin" onClick="javascript:document.submitForm.submit();" />
    </td>
    <td align="center">
        <p style="height:5px"></p>
        <input type="image" name="brand" id="brand" value="Audi" src="images/carlogos/audi.gif" height="55px" width="55px" title="View our Audi Selection" alt="Audi" onClick="javascript:document.submitForm.submit();" />
    </td>
    <td align="center">
        <p style="height:5px"></p>
        <input type="image" name="brand" id="brand" value="Bentley" src="images/carlogos/bentley.jpg" height="55px" width="55px" title="View our Bentley Selection" alt="Bentley" onClick="javascript:document.submitForm.submit();" />
    </td>
    <td align="center">
        <p style="height:5px"></p>
        <input type="image" name="brand" id="brand" value="BMW" src="images/carlogos/bmw.gif" height="55px" width="55px" title="View our BMW Selection" alt="BMW" onClick="javascript:document.submitForm.submit();" />
    </td>
    <td align="center">
        <p style="height:5px"></p>
        <input type="image" name="brand" id="brand" value="Cadillac" src="images/carlogos/cadillac.jpg" height="55px" width="55px" title="View our Cadillac Selection" alt="Cadillac" onClick="javascript:document.submitForm.submit();" />
    </td>
 </tr>
</table>
正如你在这里所注意到的,我将这些图片命名为“品牌”,每个都有单独的值

 <input type="hidden" name="hidbrand" value="<?=$_POST['brand'];?>"/>
 </form>
我正在尝试从用户点击的任何图像中捕获值

在我的searchbrand.php页面中,它将根据返回的值执行操作,下面是

 <?php
 include 'init.php';
 $vehicle_brand = $_POST['hidbrand'];
 echo $vehicle_brand, '</br>';
 ?>
没有返回任何内容,没有错误,没有值,都像我一样为空:
有人知道我要去哪里吗?

当你点击一个图像输入时,它会提交表单,所以它可能在设置hidinput的值之前提交


看看$\u POST-IIRC中包含了什么,您将得到对应于在图像上单击的x和y位置发送的值。您可以使用它来判断单击了哪个图像,而无需执行任何Javascript操作。

当您单击图像输入时,它会提交表单,因此它可能是在设置HIDIPUT值之前提交的


看看$\u POST-IIRC中包含了什么,您将得到对应于在图像上单击的x和y位置发送的值。您可以使用它来判断单击了哪个图像,而无需使用任何Javascript来执行此操作。

请为图像指定不同的id。在一个页面中,表单元素的名称可以相同。但每个表单元素的id应该是唯一的。 若给多个元素赋予相同的名称,那个么它将返回数组作为post值。 您可以使用jquery获得这些值,如

    $('input[name="brand"]').onclick(function(){alert($(this).attr('alt'));}
这将提醒用户单击的图像的alt属性

只需使用查看$\u POST中的内容:

var_dump($_POST);
您将看到,当使用输入类型=image>

这将返回类似以下内容的数组

排列 'brand_x'=>字符串'0'长度=1 'brand_y'=>字符串'0'长度=1'


为了便于您使用$\u POST[brand\u x]获取第二个表单上的值,请为图像指定不同的id。在一个页面中,表单元素的名称可以相同。但每个表单元素的id应该是唯一的。 若给多个元素赋予相同的名称,那个么它将返回数组作为post值。 您可以使用jquery获得这些值,如

    $('input[name="brand"]').onclick(function(){alert($(this).attr('alt'));}
这将提醒用户单击的图像的alt属性

只需使用查看$\u POST中的内容:

var_dump($_POST);
您将看到,当使用输入类型=image>

这将返回类似以下内容的数组

排列 'brand_x'=>字符串'0'长度=1 'brand_y'=>字符串'0'长度=1'


因此,当我正确理解您的意思时,您可以使用$_POST[brand_x]获取第二个表单上的值

,这应该是一个示例:

<!doctype html>
<html><head></head>
<body>
    <form action="searchbrand.php" method="POST"
        name="frmbrand" onsubmit="return false;">
        <input type="image" name="brand" id="brand" value="Alfa Romeo" 
            src="images/carlogos/alfa.jpg" height="55px" width="55px" 
            title="View our Alfa Romeo Selection" alt="Alfa Romeo" 
            onClick="document.submitForm.hidbrand.value=this.value; document.submitForm.submit();" />
    </form>
    <form action="http://www.stackoverflow.com/" method="POST" name="submitForm">
        <input type="text" name="hidbrand" value="" />
    </form>
</body>
</html>
然后在提交之前将值复制到submitForm中的隐藏字段。在我的示例中,我没有出于调试目的隐藏hidbrand字段:

... onClick="document.submitForm.hidbrand.value=this.value; document.submitForm.submit();" ...

第一个表单实际上不必是表单,因为它不应该被提交。您可以将普通图像与onclick处理程序一起使用。

如果我理解正确,这应该是一个示例:

<!doctype html>
<html><head></head>
<body>
    <form action="searchbrand.php" method="POST"
        name="frmbrand" onsubmit="return false;">
        <input type="image" name="brand" id="brand" value="Alfa Romeo" 
            src="images/carlogos/alfa.jpg" height="55px" width="55px" 
            title="View our Alfa Romeo Selection" alt="Alfa Romeo" 
            onClick="document.submitForm.hidbrand.value=this.value; document.submitForm.submit();" />
    </form>
    <form action="http://www.stackoverflow.com/" method="POST" name="submitForm">
        <input type="text" name="hidbrand" value="" />
    </form>
</body>
</html>
然后在提交之前将值复制到submitForm中的隐藏字段。在我的示例中,我没有出于调试目的隐藏hidbrand字段:

... onClick="document.submitForm.hidbrand.value=this.value; document.submitForm.submit();" ...
第一个表单实际上不必是表单,因为它不应该被提交。您可以将普通图像与onclick处理程序一起使用。

从hidbrand中删除并用以下内容替换所有图像输入类型中的onclick:

javascript:document.forms['frmbrand'].hidbrand.value = this.value;
这将简单地用用户单击的图像的值填充隐藏元素,然后自动提交表单

您在提交表单时在onClick中使用的当前javascript没有实际意义,不需要,因为图像输入类型在单击时会自动提交表单。

从hidbrand中删除,并用以下内容替换所有图像输入类型中的onClick:

javascript:document.forms['frmbrand'].hidbrand.value = this.value;
这将简单地用用户单击的图像的值填充隐藏元素,然后自动提交表单


您在提交表单时在onClick中使用的当前javascript没有实际意义,不需要,因为图像输入类型在单击时会自动提交表单。

有趣的是,当我查看页面源代码时,我可以在隐藏框中看到正确的返回值,即BMW,如果用户单击BMW图像。请检查文件\u get\u contents'的值php://input'. 我有一个问题,$_POST是空的,但如果它在那里,你仍然可以访问它。我已经测试了这个理论,thanx。绝对没有价值结转。Atkins可能是对的,似乎表单是在将值添加到隐藏输入之前提交的。有趣的是,当我查看页面源代码时,我可以在隐藏框中看到正确的返回值,即如果用户单击o
n BMW图像。检查文件\u获取\u内容的值'php://input'. 我有一个问题,$_POST是空的,但如果它在那里,你仍然可以访问它。我已经测试了这个理论,thanx。绝对没有价值结转。Atkins可能是对的,似乎表单是在将值添加到隐藏输入之前提交的。这很有意义。。。它似乎在提交后将值添加到隐藏的输入中。我如何先添加值,然后提交表单?如果这能解决我的问题,我也会看看坐标函数,thanx。这很有意义。。。它似乎在提交后将值添加到隐藏的输入中。我如何先添加值,然后提交表单?如果坐标函数能解决我的问题,我也会看一看,thanx。这似乎就是解决方案。如果我只是添加了值部分并删除了提交部分,我会在第一页得到一个带有正确值的回音。再次添加提交部分后,没有返回任何值。我被难住了…:我的问题是,我根本不想添加提交按钮,我希望用户点击一个图像,他们将看到该特定制造商的广告,因此我的代码提交在图像输入。我检查了源代码中的值,并显示了该值。在提交表格之后,它似乎增加了价值。谢谢你。我用过比尔迪的解决方案,速度更快,也很简单。你付出了巨大的努力,再次感谢你!!!:这似乎是解决办法。如果我只是添加了值部分并删除了提交部分,我会在第一页得到一个带有正确值的回音。再次添加提交部分后,没有返回任何值。我被难住了…:我的问题是,我根本不想添加提交按钮,我希望用户点击一个图像,他们将看到该特定制造商的广告,因此我的代码提交在图像输入。我检查了源代码中的值,并显示了该值。在提交表格之后,它似乎增加了价值。谢谢你。我用过比尔迪的解决方案,速度更快,也很简单。你付出了巨大的努力,再次感谢你!!!:谢谢Hemant,目前我在获取值方面似乎没有问题,问题似乎是表单提交后返回的值,导致将空值带入我的第二页。谢谢Hemant,目前我在获取值方面似乎没有问题,问题似乎是表单提交后返回的值,导致一个空值转入我的第二页。谢谢Beardy,这正是所需的,问题解决了。我在这里学到了一些东西,从来都不知道图像本身就是一个自动提交按钮,整个问题就是从这里开始的。。。非常感谢!!:谢谢你,比尔迪,正是需要的,问题解决了。我在这里学到了一些东西,从来都不知道图像本身就是一个自动提交按钮,整个问题就是从这里开始的。。。非常感谢!!: