【问题标题】:How to post value by javascript/ajax after added elements by dynamicly如何在动态添加元素后通过 javascript/ajax 发布值
【发布时间】:2016-09-07 17:50:55
【问题描述】:

我成功地通过 javascript 动态添加了元素,以便在表单中用作新行。

问题是如何从新添加的行中发布值?

添加行成功:

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 );

我的 ajax 帖子:

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

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

提前致谢

【问题讨论】:

  • 请澄清您的具体问题或添加其他详细信息以准确突出您的需要。正如目前所写的那样,很难准确地说出你在问什么。
  • 添加了有关问题的屏幕。当我使用 javascript 动态添加新行时,我无法从 tham 获取值
  • 你调用save_paypal_package函数的地方。
  • 我的初始化应用
  • 看起来像调用函数时传递的唯一 id 可能是错误的。在那里放置一个断点并检查传递的 id 是否与 item 的匹配。

标签: javascript ajax get element


【解决方案1】:

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

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

?

【讨论】:

  • $('#package_name_'+unique_id).val();和 document.getElementById(id).value;返回什么我都试过了。我无法发布新添加的元素
  • 你控制台记录了document.getElementById返回的内容吗?
猜你喜欢
  • 1970-01-01
  • 2012-06-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-12
相关资源
最近更新 更多