添加id后提交表单 - jQuery

时间:2013-05-28 18:58:47

标签: php javascript jquery html forms

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

有什么问题?

提前致谢。

1 个答案:

答案 0 :(得分:4)

这是因为文档准备好后#addfundspz#addfundspp )不存在

您可以使用事件委派

$(document).on('click','#addfundspz',function() {
      $('#pzform').submit();
});