javascript
  • ajax
  • get
  • element
  • 2016-09-07 89 views 0 likes 
    0

    我成功地通过javascript动态地添加了元素,以便在窗体中用作新行。如何通过动态添加元素后javascript/ajax发布值

    问题是我如何发布新增加的行的值?

    添加的行successed:

    var form = '<tr id="package_' + data.custom +'">'; 
             form += '<td><input type="text" class="form-control" name="donate[package_name]" id="package_name_'+ data.custom +'" value="" /> </td>'; 
             form += '<td>'; 
             form += '<select name="settings[currency]" id="currency_'+ data.custom +'" >'; 
             form += '<option value="EUR" selected="selected">EUR</option> '; 
             form += '<option value="USD">USD</option>'; 
             form += '</select>'; 
             form += '</td>'; 
             form += '<td><input type="text" class="form-control" name="donate[money]" id="money_'+ data.custom +'" value="" /></td>'; 
             form += '<td><input type="text" class="form-control" name="donate[price]" id="price_'+ data.custom +'" value="" /></td>'; 
             form += '<td>'; 
             form += '<select name="settings[pricetype]" id="pricetype_'+ data.custom +'" >'; 
             form += '<option value="credits" selected="selected">Credits</option>'; 
             form += '<option value="wcoin" >Wcoin</option> '; 
             form += '</select> '; 
             form += '</td>'; 
             form += '<td>'; 
             form += '<select name="settings[status]" id="status_'+ data.custom +'" >'; 
             form += '<option value="1" selected="selected">On</option> '; 
             form += '<option value="1" >Off</option> '; 
             form += '</select> '; 
             form += '</td>'; 
             form += '<td><a href="#" class="bg-green" id="save_'+ data.custom +'">Save</a>/<a href="#" class="bg-red" id="remove_'+ data.custom +'">Remove</a></td></tr>'; 
             $('#paypal_packages_table').append(form); 
    

    我阿贾克斯后:

    save_paypal_package: function (unique_id) { 
    
         var package_name = $('#package_name_'+unique_id).val(); 
         var currency  = $('#currency_'+unique_id).val(); 
         var money   = $('#money_'+unique_id).val(); 
         var price   = $('#price_'+unique_id).val(); 
         var pricetype  = $('#pricetype_'+unique_id).val(); 
         var status   = $('#status_'+unique_id).val(); 
         $.ajax({ 
          type: 'POST', 
          url: MuOnlineWebs.base_url + 'admin-cp/save_paypal_package', 
          data: {'type': 'save_paypal_package', unique_id : unique_id, package_name : package_name, currency:currency,money:money,price:price,pricetype:pricetype,status:status}, 
          dataType: 'json', 
          beforeSend: function() { 
           App.display_loader(); 
          }, 
          complete: function() { 
           App.hide_loader(); 
          }, 
          success: function (data) { 
           if(data.session) 
           { 
            App.notifier_box(data.response, data.type, data.error); 
            setTimeout(function() 
            { 
             location.href = MuOnlineWebs.base_url + 'logged-in'; 
            }, 3000); 
           } 
           else 
           { 
            if (data.error) { 
             App.notifier_box(data.response, data.type, data.error); 
            } 
            else 
            { 
             App.notifier_box(data.response, data.type, data.success); 
            } 
           } 
          } 
         }); 
        } 
    

    第1步:加载页面 - >https://snag.gy/dRZAq4.jpg 第2步:添加新行 - >https://snag.gy/xHKJSN.jpg

    我可以通过加载页面的当前包发布值。但动态添加新行不会返回任何内容。有任何想法吗?

    在此先感谢

    +0

    请澄清您的具体问题或添加其他详细信息,以确切地突出显示您的需求。正如目前所写,很难确切地说出你在问什么。 –

    +0

    添加了有关问题的屏幕。当我用javascript动态添加新行时,我无法从您拨打'save_paypal_package'功能的tham – Dream

    +0

    获取值。 –

    回答

    0

    你似乎对每个元素的id一些命名方案。为什么不只是

    document.getElementById(// your id).value; 
    

    +0

    $('#package_name _'+ unique_id).val();和document.getElementById(id).value;返回没有我试过两个。我无法发布新添加的元素 – Dream

    +0

    您是否console.log document.getElementById返回了什么? –

    相关问题