0

我有一种情况,嵌套表单可以很好地工作,但显然嵌套表单是不允许的。

以下面的例子为例:

<form method="post" action="bid.php">
   <input type="hidden" value="11111111" name="auction_id">
   <input type="hidden" value="bid_confirm" name="action">                
    <!-- Holder Ends -->
    <div class="holder2">
        <div class="text">
            Quantity:
        </div>
        <div class="field">
            <input type="text" maxlength="6" value="1" class="small" name="quantity">
        </div>
        <!-- Btn Ends -->                                                    
        <div class="contentClear"></div>
    </div>
    <!-- Holder Ends -->                                                             
    <div class="holder holder3">                                                        
        <div class="field">
            <input type="text" maxlength="15" name="max_bid">
        </div>
        <div class="btn">
            <input type="image" src="images/pixel.gif" class="bid" name="submit">
        </div>
        <!-- Btn Ends -->
        <form method="post" action="make_offer.php?auction_id=11111111">  
            <div class="btn btn_offer">
                <input type="image" src="images/pixel.gif" class="offer" name="submit">
            </div>
            <!-- Btn Ends -->
        </form>                                    
        <div class="contentClear"></div>
    </div>
    <!-- Holder Ends -->            
</form>   

您将从上面看到嵌套是理想的位置。

从技术上讲,我可以在另一个表单开始之前关闭第一个表单,因为所有必填字段都已输出auction_id,action,quantity,max_bid,但是我想避免这种情况,因为随后代码开始看起来很混乱,因为表单将在代码的不同部分打开和结束&不是很理想。

有没有人知道如何在不使用 Javascript 的情况下处理这种情况?

4

1 回答 1

1

您可以让第二个表单(提供报价)成为AJAX您不提交表单但仍正确发送数据的组件。IMO 这将是最好的方法,但你不想恢复javascript(出于某种原因)。

另一个可行的选择是不要让表单插入iFrame页面。然后,此页面上将包含您的第二个表单并提交。这样做的问题是您必须找到一种将拍卖ID 传递给iFrame 的方法。但是如果你可以通过 URL 参数做到这一点,那么它应该不会太糟糕。

我认为它看起来很像:

    <!-- Btn Ends -->
    <iframe src="pagewithform2.php?auction_id=1111111" width="xx" height="xx" scrolling="no"/>                                  
    <div class="contentClear"></div>
于 2013-01-10T18:55:17.573 回答