我有一个结帐表单,除了IE8以外的所有功能。 我正在改变它以使用ajax将输入结果保存为会话数据。 当我使用第一个'点击'功能,一切都很好,但我不能提交'提交'发射功能(无警报)。以下show / hide正在运行。 我需要另外一双眼睛。
表格
<form name="payment_method_form" id="payment_method_form" method="post">
<div class="pay_method">
<input type="radio" name="pay_method" value="cc"> Credit Card
</div>
<div class="pay_method">
<input type="radio" name="pay_method" value="pp"> Paypal
</div>
<div class="pay_method">
<input type="radio" name="pay_method" value="dd"> Direct Deposit
</div>
<div class="pay_method">
<input type="radio" name="pay_method" value="cash"> Cash on Delivery
</div>
</form>
脚本(包含在$(document).ready())
中$('input[name$="pay_method"]').click(function() {
$('#payment_method_form').submit(function(e) {
alert("clicked")
<!-- ajax here -->
});
var pay_method = $(this).val();
$('.pay_option').hide();
$("#"+pay_method).show();
});
答案 0 :(得分:0)
submit
事件监听器必须位于click
事件监听器之外,并且您希望触发 submit
click
事件事件如下:
$('input[name$="pay_method"]').click(function() {
//...
$('#payment_method_form').submit(); //TRIGGER FORM SUBMIT EVENT
});
$('#payment_method_form').submit(function(e) { //START - Submit event listener
e.preventDefault();
alert("clicked")
});
$('input[name$="pay_method"]').click(function() {
var pay_method = $(this).val();
$('.pay_option').hide();
$("#" + pay_method).show();
$('#payment_method_form').submit();
});
$('#payment_method_form').submit(function(e) {
e.preventDefault();
alert("clicked")
//<!-- ajax here -->
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form name="payment_method_form" id="payment_method_form" method="post">
<div class="pay_method">
<input type="radio" name="pay_method" value="cc">Credit Card
</div>
<div class="pay_method">
<input type="radio" name="pay_method" value="pp">Paypal
</div>
<div class="pay_method">
<input type="radio" name="pay_method" value="dd">Direct Deposit
</div>
<div class="pay_method">
<input type="radio" name="pay_method" value="cash">Cash on Delivery
</div>
</form>