У меня есть форма, где пользователь может ввести ссылку, нажать кнопку «добавить ссылку», и эта ссылка затем (через jQuery) добавляется в форму как скрытое поле. Проблема в том, что это не POSTing, когда я отправляю форму. Это действительно начинает меня смущать. Дело в том, что если я жестко закодирую скрытое поле в форме, оно публикуется, но по какой-то причине моя функция не работает. Скрытое поле ДОЛЖНО быть добавлено в мою форму, как я вижу в Firebug, но оно просто не отправляется с данными POST.
Просто чтобы заметить, я использую массив в Javascript для хранения элементов до отправки формы, который также публикует их визуально, чтобы пользователь мог видеть, что они добавили. Я использую нотацию [] в поле «имя» элемента, потому что я хочу, чтобы ссылки передавались в массив в PHP.
Вот создание ссылки, которая добавляется в мою форму:
function make_hidden_element_tag(item_type, item_content, item_id)
{
return '<input type="hidden" name="' + item_type + '[]" id="hidden_link_' + item_id + '" value="' + item_content + '"/>';
У кого-нибудь есть идея, почему это может быть не публикация. Как указано выше, любые жестко закодированные теги, которые почти идентичны вышеприведенным, работают нормально, просто этот тег не работает. Вот как я добавляю тег в форму с помощью jQUery:
$('#link_td').append( make_hidden_element_tag('links', link, link_array.length - 1));
Я использую фреймворк Kohana 3, хотя я не уверен, что это имеет какое-либо отношение к этому, потому что на самом деле он ничего не делает с момента добавления HTML-кода на страницу и нажатия кнопки отправки.