0

我在使用 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 提交表单功能。但这不起作用。没有提交任何表格。

怎么了?

提前致谢。

4

1 回答 1

4

那是因为当文档准备好时#addfundspz(#addfundspp) 不存在

您可以使用事件委托

$(document).on('click','#addfundspz',function() {
      $('#pzform').submit();
});
于 2013-05-28T19:01:38.583 回答