如何通过Javascript访问php代码中的输入名称?

时间:2019-05-21 08:10:46

标签: javascript php forms

我有一些行的PHP表单。这些行的字段如下所示:

<input type="text" name="addresses[n][0]" value="mail " id="address" class="validate">

我在Javascript中使用以下代码来添加和删除行:

                    $(document).ready(function () {
                        $('select').material_select();
                    });
                    $(function ()
                    {

                        $(document).on('click', '.btn-add', function (e)
                        {
                            e.preventDefault();

                            var controlForm = $('.controls form:first'),
                                    currentEntry = $(this).parents('.entry:first'),
                                    newEntry = $(currentEntry.clone()).appendTo(controlForm);

                            newEntry.find('input').val('');
                        }).on('click', '.btn-remove', function (e)
                        {
                            $(this).parents('.entry:first').remove();

                            e.preventDefault();
                            return false;
                        });
                    });

我的问题是,在POST中使用添加的行发送此表单后,添加的行具有相同的'n'索引,因为它们是克隆的。如何在newEntry变量中访问它们的“名称”属性,该变量是整个行的div?

我尝试过

newEntry.find('name').val('addressesNewName')
newEntry.find('input').getAttribute('name') = 'addressesNewName'
newEntry.find('name').setAttribute("name","addressesNewName");
newEntry.find('input').find('name').val('addressesNewName');
newEntry.find('input').attr('name') = 'newaddresses';
newEntry.find('input').attr('name').val('newaddresses');

但是没有什么改变字段的名称。

我不需要分配什么n个值等等的帮助,只需要如何更改输入字段的名称即可。

1 个答案:

答案 0 :(得分:0)

您尝试过吗?

newEntry.attr('name', 'addressesNewName');

由于您使用的是jQuery,因此可以轻松地通过以下方式访问节点属性:

$(node).attr('attributeName'); // get attribute value
$(node).attr('attributeName', 'newValue'); // set attribute value

jQuery API

相关问题