У меня возникают проблемы с попыткой сделать multitextarea на форме.
У меня есть представление PHP, которое имеет различные формы, все обрабатываются разными, но в том же файле. Все они работают, я тестировал, и они работают. В формах есть значок +, позволяющий пользователю добавлять дополнительные экземпляры <textarea />
. Этот значок + загружает через AJAX новую текстовую область с тем же именем предыдущего текстового поля (например, name = "example []"). Если я опубликую это, он получит только первый элемент, который ранее не был загружен jQuery. Проблема в том, что загруженные динамически полностью игнорируются, и я не знаю, почему.
Мой фрагмент моего представления PHP:
<?php echo form_open("projects/view/".$projectid); ?> <!-- This generates a valid <form /> tag --> <table> <tr> <th><?php echo lang("label_conx");?></th> <td class="textarea-edit"> <textarea class="context" name="CONX[]"><?php echo set_value("CONX[]");?></textarea> </td> <td class="add"><a id="add-conx" href="#"><?php echo img("img/icons/plus.png");?></a></td> </tr> ...
Мой jQuery-код, который отлично работает, потому что содержимое отображается, и я вижу в firebug то же самое, что и загруженный html textarea:
$("a#add-conx").click(function(){ $("#ajax-loader").fadeIn('normal'); $("textarea.context:last").after('<textarea class="context" name="CONX[]"></textarea>'); $("#ajax-loader").fadeOut("normal"); return false; });
И когда я отправляю форму, у меня есть в моем PHP-контроллере print_r($_POST);
и я получаю:
Array ( [CONX] => Array ( [0] => safdsddasfafsd ) ...
Если я помещаю PHP в различные текстовые области, этот массив увеличивается как столько же из числа текстовых областей, которые я создал в файле вида HTML. Я не понимаю, почему это не работает.
Когда страница загружается:
После добавления некоторого контента динамически:
На этих двух изображениях показаны 4 экземпляра textarea с контекстом имени [] (который был изменен на CONX [], но не совпадает), которые находятся в представлении. Второе изображение показывает загруженные с jQuery, и PHP обнаружил только первые 4, которые были в HTML.
Кто-нибудь знает, как я могу это решить?
Заранее спасибо!