之前,我有一个带有单选按钮的表单,当然,按下提交时它会在单选按钮中提交值。
但如果我不再需要收音机按钮怎么办?当按表格单元格或行时,会自动将值提交到下一页而不提交按钮?
<form method="post" action="billing.php">
<table width="900" border="0" align="center" cellpadding="2" cellspacing="0" id='center'>
<tr>
<td><input type="radio" name="carrier" <?php if (isset($carrier) && $carrier=="LBC") echo "checked";?> value="LBC"></td>
<td><img src="../paymentoptions/LBC.jpg" alt="LBC" class="picture"/></td>
<td><p>The Shipping takes 1-2 days for NCR and 2-3 days for any provincial. Payment method only available is through BPI Bank Deposit<p>
<div id='price'> Additional ₱250 </div></td>
</tr>
<tr>
<td><input type="radio" name="carrier" <?php if (isset($carrier) && $carrier=="PickUp") echo "checked";?> value="PickUp"></td>
<td><img src="../paymentoptions/Pick-up.jpg" alt="Pick-Up" class="picture"/></td>
<td><p>Personally pick up your merchandise at our office. Free of Charge. Office hours: 10:00 am to 5:00 pm<p>
<div id='price'> Free!! </div></td>
</tr>
</table>
</form>
如何在不使用提交按钮或单选按钮的情况下进行提交,因为当我按下该行时,它会将值提交到下一页,然后我转到下一页。
谢谢
EDIT。
<table width="900" border="0" align="center" cellpadding="2" cellspacing="0" id='centerdown'>
<tr>
<td><input type="radio" name="payment" <?php if (isset($payment) && $payment=="BPI") echo "checked";?> value="BPI"></td>
<td><img src="../paymentoptions/BPI.jpg"></td>
<td><p>Pay by BPI bank deposit (we need confirmation of payment through email.)<p></td>
</tr>
<tr>
<td><input type="radio" name="payment" <?php if (isset($payment) && $payment=="PickUp") echo "checked";?> value="PickUp"></td>
<td><img src="../paymentoptions/Pick-up.jpg"></td>
<td><p>Pick up. You have 5 days reservation period. You pay for the merchandise upon pick-up<p></td>
</tr>
</table>
答案 0 :(得分:2)
只需使用行提交即可。考虑这个标记:
<form method="post" action="billing.php">
<table width="900" border="0" align="center" cellpadding="2" cellspacing="0" id='center'>
<tr class="row_submit">
<!-- ^^ simple class assignment -->
<td><input type="radio" name="carrier" <?php if (isset($carrier) && $carrier=="LBC") echo "checked";?> value="LBC"></td>
<td><img src="../paymentoptions/LBC.jpg" alt="LBC" class="picture"/></td>
<td><p>The Shipping takes 1-2 days for NCR and 2-3 days for any provincial. Payment method only available is through BPI Bank Deposit<p>
<div id='price'> Additional ₱250 </div></td>
</tr>
<tr class="row_submit">
<td><input type="radio" name="carrier" <?php if (isset($carrier) && $carrier=="PickUp") echo "checked";?> value="PickUp"></td>
<td><img src="../paymentoptions/Pick-up.jpg" alt="Pick-Up" class="picture"/></td>
<td><p>Personally pick up your merchandise at our office. Free of Charge. Office hours: 10:00 am to 5:00 pm<p>
<div id='price'> Free!! </div></td>
</tr>
</table>
</form>
然后在你的JS:
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('tr.row_submit').on('click', function(e){
$('form').submit();
});
});
</script>
然后在PHP:
$info_table = array(
'LBC' => array(
'price' => 250,
'payment' => 'BPI',
),
'PickUp' => array(
'price' => 0,
'payment' => '',
),
);
if(isset($_POST['carrier'])){
echo $_POST['carrier'];
$price = $info_table[$_POST['carrier']]['price'];
$payment = $info_table[$_POST['carrier']]['payment'];
echo '<br/>' . $price . '<br/>';
echo $payment;
}
答案 1 :(得分:1)
试试这个:
<script type="text/javascript">
function submit(){
var data = $("form[action=billing.php]").serialize();
$.ajax({
url: "billing.php",
type: "POST",
data: data,
success: function(out){
$(body).html(out);
}
});
}
$(document).ready(function(){
$('tr.row_submit').click(function(){submit();});
}
</script>
我希望它有效!