[英]JQuery - onclick and .click handlers on element with same ID
我该如何解决? 在确认页面上的订单处理结束时,我有一种付款方式(可以是多种形式,按钮ID相同)。单击确认订单按钮后,我需要使用jquery调用some_script.php并同时重定向到支付网关。 单击确认按钮后,仅处理onclick =“ $('#payment')。submit();;页面被重定向,但未调用some_script.php。感谢您的帮助。
<div class="payment">
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" id="payment">
<input type="hidden" name="cmd" value="_cart">
<input type="hidden" name="upload" value="1">
....
</form>
<div class="buttons">
<div class="right">
<a id="button-confirm" class="button" onclick="$('#payment').submit();">
<span>Confirm</span></a>
</div>
</div>
</div>
<script>
$('#button-confirm').click(function() {
$.get(
'some_script.php',
{order_id: '<?php echo $order_id; ?>'},
'html'
);
});
</script>
这也许很开心
<script>
$('#button-confirm').click(function (e) {
e.preventDefault();
$.get(
'some_script.php',
{order_id: '<?php echo $order_id; ?>'},
'html'
);
$('#payment').submit();
});
</script>
这是你要找的吗?
编辑:
用这个替换脚本上的提交部分,我认为这是有效的
var submitForm = $('#payment');
if(submitForm){
$('#payment').submit();
}
EDIT2:
如果表单标签有各种ID,则最好使用父类和表单选择器来选择表单
var submitForm = $('.payment form');
if(submitForm){
$('.payment form').submit();
}
这是因为您为同一操作编写了2个不同的事件。 onclick =“ $('#payment')。submit();之所以会被处理,是因为其已编写为内联。
为了获得预期的结果,您必须更改以下代码。
<a id="button-confirm" class="button">
和
<script>
$('#button-confirm').click(function() {
$.get(
'some_script.php',
{order_id: '<?php echo $order_id; ?>'},
'html'
);
$('#payment').submit();
});
</script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.