如何在HTML/PHP中将下拉菜单中的选项发送到单独的提交按钮


How to send an option from a drop-down menu to a separate submit button in HTML/PHP

我正试图将从下拉菜单中选择的选项发送到一个单独的提交按钮。到目前为止,这是我的代码:

 <tr>
         <td valign="top" style="width: 247px"><a href="action-amazon-sale.php?size=<?=$size?>&amp;id=<?=$product['product_id'];?>&barcode=<?=$barcode?>&shop_price=<?=$product['price']?>&brand=<?=$product['brand_id']?>&title=<?=$product['title']?>&colour=<?=$product['colour']?>&shoe_id=<?=$product['shoe_id'];?>">
          <input name="button5" type="submit" class="submit-button-green" id="button5" value="AMAZON SOLD" style="width:100%" onclick="this.disabled=1;"/>
          </a></td>
         </tr>
          <tr>
         <td>
            <form action="" style= "width: 250px" style="height: 38px; width: 350px">
            <select name="shipping" class="button_select" style="width: 345px">
            <option value="">SELECT SHIPPING FOR AMAZON &amp EBAY SALES</option>
            <option value="0">FREE UK SHIPPING</option>
            <option value="5.50">UK SHIPPING &pound; 5.50</option>
            <option value="6.95">BOOTS SHIPPING &pound; 6.95</option>
            <option value="14.95">EURO &pound; 14.95</option>
            <option value="19.95">EURO 2 &pound; 19.95</option>
            <option value="29.95">WORLD &pound; 29.95</option>
            </select>
            </form>
            </td>
         </tr>
    </table></td>
    </tr>

我希望用户首先从下拉菜单中选择一个运输选项,然后单击"亚马逊销售"提交按钮,将该值POST到随后的PHP页面,即action-azon-sale.PHP…

有人能告诉我该怎么做吗?

谢谢。


更新#2

   <tr>
        <td valign="top" style="width: 247px"><a href="action-amazon-sale.php?size=<?=$size?>&amp;id=<?=$product['product_id'];?>&barcode=<?=$barcode?>&shop_price=<?=$product['price']?>&brand=<?=$product['brand_id']?>&title=<?=$product['title']?>&colour=<?=$product['colour']?>&shoe_id=<?=$product['shoe_id'];?>">
          <input name="button5" type="submit" class="submit-button-green" id="button5" value="AMAZON SOLD" style="width:100%"  form="shipping" formmethod="post" 
  formaction="action-amazon-sale.php?size=<?=$size?>&amp;id=<?=$product['product_id'];?>&barcode=<?=$barcode?>&shop_price=<?=$product['price']?>&brand=<?=$product['brand_id']?>&title=<?=$product['title']?>&colour=<?=$product['colour']?>&shoe_id=<?=$product['shoe_id'];?>" onclick="this.disabled=1;"/>
          </a></td>  
          <td width="530" align="right"></td>
    </tr>
     <td width="252" valign="top" style="height: 13px"><a href="action-amazon-sale.php?size=<?=$size?>_con_b&amp;id=<?=$product['product_id'];?>&barcode=<?=$barcode?>&shop_price=<?=$product['price']?>&brand=<?=$product['brand_id']?>&title=<?=$product['title']?>&colour=<?=$product['colour']?>&shoe_id=<?=$product['shoe_id'];?>">
            <input name="button5" type="submit" class="submit-button-green" id="button5" value="AMAZON CONCESSION SOLD" style="width:100%"  form="shipping" formmethod="post" formaction="action-amazon-sale.php?size=<?=$size?>_con_b&amp;id=<?=$product['product_id'];?>&barcode=<?=$barcode?>&shop_price=<?=$product['price']?>&brand=<?=$product['brand_id']?>&title=<?=$product['title']?>&colour=<?=$product['colour']?>&shoe_id=<?=$product['shoe_id'];?>" onclick="this.disabled=1;"/>
            </a></td> 
          <tr>
                 <form id="shipping">
     <td valign="top">
              <select name="shipping" class="button_select" style="width: 276px">
              <option value="">SELECT SHIPPING FOR AMAZON SALES</option>
              <option value="0">FREE UK SHIPPING</option>
              <option value="16.95">EURO SHIPPING &pound; 16.95</option>
              <option value="14.50">BOOTS SHIPPING &euro; 17.50</option>
                  </select>       
             </form></td></tr>
      <tr>

在目标URL上,我写了一个简短的测试,即

$shipping=$_POST['shipping'];
echo $shipping;

但是,结果为空。我哪里错了?感谢

您需要将输入按钮放入表单中,method应为POST

<form method="POST" action="action-amazon-sale.php?size=<?= $size ?>&amp;id=<?= $product['product_id']; ?>&barcode=<?= $barcode ?>&shop_price=<?= $product['price'] ?>&brand=<?= $product['brand_id'] ?>&title=<?= $product['title'] ?>&colour=<?= $product['colour'] ?>&shoe_id=<?= $product['shoe_id']; ?>" style= "width: 250px" style="height: 38px; width: 350px"> 
      <table>
        <tr>
          <td valign="top" style="width: 247px">
            <input name="button5" type="submit" class="submit-button-green" id="button5" value="AMAZON SOLD" style="width:100%" onclick="this.disabled = 1;"/>
          </td>
        </tr>
        <tr>
          <td>
            <select name="shipping" class="button_select" style="width: 345px">
              <option value="">SELECT SHIPPING FOR AMAZON &amp EBAY SALES</option>
              <option value="0">FREE UK SHIPPING</option>
              <option value="5.50">UK SHIPPING &pound; 5.50</option>
              <option value="6.95">BOOTS SHIPPING &pound; 6.95</option>
              <option value="14.95">EURO &pound; 14.95</option>
              <option value="19.95">EURO 2 &pound; 19.95</option>
              <option value="29.95">WORLD &pound; 29.95</option>
            </select>
          </td>
        </tr>
      </table>
    </form>

您这样识别表单:

<form id="myform">
  <input type="text" name="example" value="" />
</form>

提交按钮:

<input type="submit" value="submit" form="myform" />

或者,如果要定义方法,如果在提交按钮中定义formmethod,它将覆盖<form>标记中定义的method

<input type="submit" value="submit" form="myform" formmethod="post" />

这表示提交属于myform。我认为这是HTML5添加的属性。如果submit输入被放置在表单标记中,某些浏览器将不会提交。

此属性可用于大多数(如果不是全部的话)html input。这意味着你可以将你的输入字段放在表单之外,但仍然属于表单

您可以为每个代码使用单独的表单来使用更新后的代码。你在a href中输入的内容应该在formaction中。

<input type="submit" form="myform" formaction="action-amazon-sale.php?size=<?=$size?>&amp;id=<?=$product['product_id'];?>&barcode=<?=$barcode?>&shop_price=<?=$product['price']?>&brand=<?=$product['brand_id']?>&title=<?=$product['title']?>&colour=<?=$product['colour']?>&shoe_id=<?=$product['shoe_id'];?>"

或者你可以只参考一个表格。比如:

        <form id="shipping" style= "width: 250px" style="height: 38px; width: 350px">
        <select name="shipping" class="button_select" style="width: 345px">
        <option value="">SELECT SHIPPING FOR AMAZON &amp EBAY SALES</option>
        <option value="0">FREE UK SHIPPING</option>
        <option value="5.50">UK SHIPPING &pound; 5.50</option>
        <option value="6.95">BOOTS SHIPPING &pound; 6.95</option>
        <option value="14.95">EURO &pound; 14.95</option>
        <option value="19.95">EURO 2 &pound; 19.95</option>
        <option value="29.95">WORLD &pound; 29.95</option>
        </select>
        </form>

用你的按钮,像这样:

  <input name="button5" type="submit" class="submit-button-green" id="button5" value="AMAZON SOLD" style="width:100%"  form="shipping" formmethod="post" 
  formaction="action-amazon-sale.php?size=<?=$size?>...." onclick="this.disabled=1;"/>
   <input name="button5" type="submit" class="submit-button-green" id="button5" value="AMAZON SOLD" style="width:100%"  form="shipping" formmethod="post" 
  formaction="action-amazon-sale.php?size=<?=$size?>_con_b&amp;id=" onclick="this.disabled=1;"/>