2017-01-01 3 views
-2

Я пытаюсь вставить несколько скрытых полей ввода со значением из другого поля ввода.Вставка полей ввода со значением из другого ввода JQuery

HTML

<div id="FormWrapper"></div> 

FormWrapper находится внутри формы. Я попытался добавить вход внутри и значение post работает. Значение ValueFromOtherInput также имеет значение.

$('<input>').attr({ 
      type: 'hidden', 
      name: 'valueFromInputFields[]', 
      value:$('#valueFromOtherInput').val() 
      }).appendTo('#FormWrapper'); 

Но значение должности не существует, когда я отправляю форму.

+0

Вы знаете, что '# valueFromInput' нацелен на элемент с атрибутом **' ID' ** 'valueFromInp ut', а не имя. Также у вас нет кавычек для вашего атрибута 'value'. – NewToJS

+1

То, что вы написали, немного уродливое, но оно работает: [demo] (https://jsfiddle.net/davidThomas/51xb4611/), так что вы не показываете нам? Какие у вас ошибки? –

+0

@DavidThomas без кавычек может ломаться при рендеринге в зависимости от того, что содержит другое значение, например пробелы – charlietfl

ответ

1

Введенный значение должно быть заключено в кавычки:

var hiddenInput = $("<input type='hidden' name='valueFromInput[]' value='" + $('#valueFromInput').val() + "'>");

Но пост значение не существует - Кроме того, убедитесь, что $('#valueFromInput').val() существует (не пусто)

+0

Требуется только кавычки, если значение содержит пробел (что не указано в вопросе), хотя вы вполне можете быть прав в том, что это проблема. –

+0

Когда я отправляю форму, значение формы значения valueFromInput не существует, кажется, что поле ввода не добавлено. – Alvinrightback

0

Вместо CONCATENATE попробовать создание в качестве объекта jQuery и использование методов или опций для установки свойств

var hiddenInput =$('<input>', { 
     type:'hidden', 
     value:$('#valueFromInput').val(), 
     name:'valueFromInput[]'}) 

Или

var hiddenInput =$('<input>').attr({name:'valueFromInput[]',type:'hidden'}) 
          .val($('#valueFromInput').val()); 

проще, чем проверка на отсутствие кавычек, и если вы не сделаете это правильно будет получить ошибку синтаксиса выброшен

+0

Теперь я могу добавить элемент формы, но когда я его отправлю, значение столбца не существует. Я использую php btw – Alvinrightback

+0

Является ли '# FormWrapper' элементом формы или внутри элемента формы?Если ни один из них не обертывает форму, вход должен находиться внутри формы. – charlietfl

+0

Нужна [mcve], так как не отображается много кода – charlietfl

0

Попробуйте

$('<input>').attr({ 
    type: 'hidden', 
    name: 'valueFromInput[]', 
    value:$('#valueFromInput').val() 
}).appendTo('#FormWrapper'); 

Время воспроизведения при добавлении попробовать этот

$("#FormWrapper").submit(function(eventObj) { 

    $('<input>').attr({ 
     type: 'hidden', 
     name: 'valueFromInput[]', 
     value:$('#valueFromInput').val() 
    }).appendTo(this); 

    return true; 
}); 
+0

Ничего хорошего, когда я отправлю форму, имя не существует, кажется, что поле ввода не добавлено – Alvinrightback

+0

@Alvinrightback: см. Обновления –

+0

Я сначала добавлю несколько полей ввода перед отправкой. Я попытался добавить время выполнения, но все еще не работал. Почтовое значение все еще отсутствует. – Alvinrightback

Смежные вопросы