是否有可能在某种情况下禁用提交表单? 这是我的示例代码
<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_cart" />
<input type="hidden" name="upload" value="1" />
<input type="hidden" name="business" value="test@gmail.com" />
<?php
$i = 1;
foreach($_SESSION['cart'] as $id => $qty):
$product = $myCart->getProduct($id);
?>
<input type="hidden" name="item_name_<?php echo $i; ?>" value="<?php echo $product['ProductName']; ?>">
<input type="hidden" name="item_number_<?php echo $i; ?>" value="<?php echo $product['ProductID']; ?>">
<input type="hidden" name="amount_<?php echo $i; ?>" value="<?php echo $product['ProductOverridePrice']; ?>">
<input type="hidden" name="quantity_<?php echo $i; ?>" value="<?php echo $qty; ?>">
<?php
$i++;
endforeach;
?>
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="lc" value="US">
<input type="hidden" name="rm" value="2">
<input type="hidden" name="shipping_1" value="<?php echo $shipping; ?>">
<input type="hidden" name="return" value="http://testsite/thankyou.php">
<input type="hidden" name="cancel_return" value="http://testsite/">
<input type="hidden" name="notify_url" value="http://testsite/paypal.php">
<input type="image" src="images/shopping-cart/check-out-btn.png" name="pay now" value="pay" />
</form>
让我说我有一个条件,如果表格应该“不”提交 $ _SESSION ['cart']是空的,该怎么做?
我尝试了底部的一个答案..我把代码放在文件的底部,就像这样
<?php
if(!is_array($_SESSION['cart']) && empty($_SESSION['cart'])):
?>
<script>
$('form').on('submit', function(e){
e.preventDefault();
});
</script>
<?php
endif;
?>
无法正常工作..当我按下结帐按钮时,它仍然会进入paypal沙盒页面
答案 0 :(得分:2)
onsubmit="return false"
或$('form').submit(function(){return false;});
答案 1 :(得分:1)
$('form').on('submit', function (e) {
e.preventDefault();
});
...比return false;
更正确。至少,只要它停止提交我们正在谈论的表格。
答案 2 :(得分:1)
只需使HTML输出依赖于$ _SESSION ['cart']状态:
<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post" <?php if(empty($_SESSION['cart'])){echo "onsubmit=\"return false;\""} ?>>...
如果您特别想要涉及jquery,只需给表单一个id并与上面相同,但是使用js:
<?php
if(empty($_SESSION['cart'])){
echo "
$('#form_id').submit(function() {
return false;
});
"
}
?>
答案 3 :(得分:0)
可以通过javascript完成,将$ _SESSION ['cart']的值传递给java脚本函数,并在表单提交上调用,如下所示:
<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post" onSubmit="return stop_form_submit("<?php echo $_SESSION['cart']; ?>");">
然后在javascript中,
function stop_form_submit(cart_val) {
if(!cart_val) {
return false;
}
}