我在使用jQuery提交表单时遇到了一些麻烦..
我明白了:
<div class='widget-body'>
<div class='center' id='formHolder' style='display:none'>
<div id='amountDiv'>$<span id='amountSpan'></span></div>
<div class='pagination pagination-centered margin-none' style='font-size:15px;'>
<ul>
<li><a href='javascript:void(0)' id='dec'>-</a></li>
<li class='active'><a href='javascript:void(0)' class='addfunds'>Add Funds</a></li>
<li><a href='javascript:void(0)' id='inc'>+</a></li>
</ul>
</div><!--//Pagination-->";
$contents .= "
<form action=\"https://www.paypal.com/cgi-bin/webscr\" method=\"post\" id=\"ppform\">
<input type=\"hidden\" name=\"cmd\" value=\"_xclick\" />
<input type=\"hidden\" name=\"business\" value=\"{$set['pp_paymentemail']}\" />
<input type=\"hidden\" name=\"quantity\" value=\"1\" />
<input type=\"hidden\" name=\"item_name\" value=\"{$set['rbalanceadd_paymenttext']}\" />
<input type=\"hidden\" name=\"amount\" class='a' value=\"\" />
<input type=\"hidden\" name=\"item_number\" value=\"{$ir['username']}\" />
<input type=\"hidden\" name=\"no_shipping\" value=\"1\" />
<input type=\"hidden\" name=\"return\" value=\"$return\" />
<input type=\"hidden\" name=\"currency_code\" value=\"{$set['currency_type']}\" /></form>
<form method=\"post\" action=\"https://secure.payza.com/checkout\" id='pzform' />
<input type=\"hidden\" name=\"ap_purchasetype\" value=\"service\" />
<input type=\"hidden\" name=\"ap_merchant\" value=\"{$set['ap_paymentemail']}\" />
<input type=\"hidden\" name=\"ap_itemname\" value=\"{$set['rbalanceadd_paymenttext']}\" />
<input type=\"hidden\" name=\"ap_currency\" value=\"{$set['currency_type']}\" />
<input type=\"hidden\" name=\"ap_returnurl\" value=\"{$myi}\" />
<input type=\"hidden\" name=\"ap_quantity\" value=\"1\" />
<input type=\"hidden\" name=\"ap_amount\" class='a' value=\"\" />
<input type=\"hidden\" name=\"ap_description\" value=\"{$ir['username']}\" />
</form>
";
$contents.="
</div><!--//formHolder-->
<div id='btHolder'>
<div class='center'>
<img src='themes/steel/theme/images/icons/paypal.png' style='margin-left:10px;margin-right:10px;' id='paypalBt'>
<img src='themes/steel/theme/images/icons/payza.png' id='payzaBt'>
</div><!--//Center-->
<br />
</div><!--//btHolder-->
</div><!--//Widget Body-->
因此,首先,所有用户都选择他/她的付款方式。这可以通过选择 #payzaBt 或 #paypalBt
来完成之后,用户必须指定他/她希望添加多少钱。
这是通过 #inc 或 #dec 完成的(这会将金额添加到PayPal和Payza表单的金额输入字段中。
我的jQuery看起来像这样:
$(document).ready(function() {
$('#paypalBt').click(function() {
$('.addfunds').attr('id','addfundspp');
$('#btHolder').hide();
$('#formHolder').show();
});
$('#payzaBt').click(function() {
$('.addfunds').attr('id','addfundspz');
$('#btHolder').hide();
$('#formHolder').show();
});
$('#addfundspz').click(function() {
$('#pzform').submit();
});
$('#addfundspp').click(function() {
$('#ppform').submit();
});
$('#amountSpan').text('5');
$('.a').val('5');
$('#inc').click(function(){
$('#amountSpan').text( Math.min(100, Number($('#amountSpan').text()) + 5) )
$('.a').val( Math.min(100, Number($('.a').val()) + 5) )
});
$('#dec').click(function(){
$('#amountSpan').text( Math.max(5, Number($('#amountSpan').text()) - 5) )
$('.a').val( Math.max(5, Number($('.a').val()) - 5) )
});
});
现在所有这一切都很好。问题是用户必须提交PayPal或Payza表单。正如您在上面的jQuery代码中看到的,我首先在“添加资金”按钮中添加了ID属性;当单击该按钮时,我正在使用jQuery提交表单功能。但这不起作用。没有提交表格。
有什么问题?
提前致谢。
答案 0 :(得分:4)
这是因为文档准备好后#addfundspz
(和#addfundspp
)不存在
您可以使用事件委派
$(document).on('click','#addfundspz',function() {
$('#pzform').submit();
});