2011-11-28 104 views
0

我不明白这一点,如何处理表单中的两个提交按钮?

如果我这样做,我点击退房按钮,页面将不会去退房页,

<form action="cart.php" method="post" id="form-cart"> 
<button name="update" id="update" type="submit" value="Update cart">Update cart</button> 
<button name="checkout" id="checkout" type="submit" value="Check out">Check out</button> 
</form> 

它只不,如果我改变name="checkout"name="cart-checkout"

<form action="cart.php" method="post" id="form-cart"> 
<button name="update" id="update" type="submit" value="Update cart">Update cart</button> 
<button name="cart-checkout" id="checkout" type="submit" value="Check out">Check out</button> 
</form> 

它的工作原理是这样,但没有任何意义,我,你知道我为什么它是这样做的吗?

所以我试图用<a>标签<button>标签内,它去签出页面,

<form action="cart.php" method="post" id="form-cart"> 
<button name="update" id="update" type="submit" value="Update cart">Update cart</button> 
<button name="checkout" id="checkout" type="submit" value="Check out"><a href="checkout.php">Check out</a></button> 
</form> 

但是确实它有效的HTML<a>标签<button>标签里面?

+0

HTML不处理形式的互动,PHP(或其他服务器侧脚本)处理输入。您必须发布PHP代码,但我会假设您使用的是其他人编写的代码。 – zzzzBov

回答

2

为什么不改变按钮:

<input name="update" id="update" type="submit" value="Update cart"> 
<input name="cart-checkout" id="checkout" type="submit" value="Check out"> 

然后在PHP(上cart.php),你可以这样做:

<?php 
    if($_POST){ 
    if(isset($_POST['update']){ 
     // process update 
    } else if(isset($_POST['cart-checkout']){ 
     // process cart checkout 
     // or uncomment the below line to forward to checkout.php 
     // header("Location: checkout.php"); 
    } 
    } 
?> 
0

如何做一个<button>,就像<a href="">

-edit-

哎呀,对不起,误读。 <button onclick="window.location='/nextpage';">

+0

谢谢汤姆!我想到了这一点,但它看起来与其他提交按钮不一致,但不会使用该... :-) – laukok

0

我实际上在这里使用JavaScript和onclick事件,它会将您带到结帐页面。

+0

谢谢。我想到了。但是我会在这个阶段避免使用js,这样当js被禁用时,页面可以回退到html。 – laukok

相关问题