2014-01-29 6 views
0

Я создал сайт Drupal, в который я включаю внешний PHP-файл и внешний JS. Они оба работают.Изменение скрытых значений Webform с помощью Javascript

Затем я добавил веб-форму, содержащую скрытые поля. Одна из функций JS должна изменить значение этих скрытых полей. Исходный код страницы Я видел, что эти поля называются «отправлены [comp_name]», где имя_компьютера - это имя конкретного поля, как определено в webform.

Функция JS имеет два входных формальных параметров, один COMP_NAME, а другой идентификатор . Цель состоит в том, чтобы установить значение id в поле comp_name.

Я пробовал:

document.getElementByName("submitted["+comp_name+"]").value = id; 

, а также

$("#submitted["+#comp_name#+"]").val(id); 

, но когда я пытаюсь отправить веб-формы, скрытые значения остается такой же, как по умолчанию.

Что я делаю неправильно? Можно ли изменить скрытое значение webform с помощью javascript?

ответ

0

кажется submitted["+comp_name+"] является name вашего элемента, но в JavaScript мы не «имеют т document.getElementByName, но вы можете сделать это нравится:

document.querySelector("input[name='submitted["+comp_name+"]']").value = id; 

или с помощью JQuery сделать:

$("input[name='submitted["+comp_name+"]']").val(id); 

но если submitted["+comp_name+"] является id сделать это:

document.getElementById("submitted["+comp_name+"]").value = id; 

или с помощью JQuery:

$("#submitted["+comp_name+"]").val(id); 
+0

ЗапросВыбор работал для меня! :-) Спасибо, Мехран! – Danidan

0

Если submitted[comp_name] является id="" поля, то это должно работать:

$('#submitted[' + comp_name + ']').val(id); 

Без #, как вы использовали в #comp_name#.

Однако, если submitted[comp_name] является name="" поля, а поле является <input> элемент, то сделать это вместо того, чтобы:

$('input[name=submitted[' + comp_name + ']]').val(id); 
+0

Спасибо Магнуса! Извините, # в # comp_name # были опечатки, написали вопрос ... – Danidan

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