2013-04-18 2 views
3

У меня есть div, в который я разместил свою текстовую область с кнопкой отправки. Мне нужно поставить textarea под каждым сообщением, чтобы оставить комментарий пользователя.form submit не работает после перемещения div с помощью JQuery

Вот форма моего текстового поля

<div id="textarea_wrap"> 
    <div id="textarea_12" class="txtarea"> 
    <form name="post_comment" action="reply.php" method="post"> 
    <input type="hidden" name="post_title" value="Post Title" /> 
    <input type="hidden" name="post_id" value="12455" /> 
    <textarea class="textarea" id="txt_12"></textarea> 
    <input type="submit" class="button" value="Submit Comment /> 
    </form> 
    </div> 
</div> 

Когда я получаю innerHtml из сНа textarea_wrap и переместить его в какой-либо другой DIV с помощью Jquery, она перестает работать.

Например

var txtarea = $("#textarea_wrap").html(); 
    $("#comment_10").html(txtarea); 

Он перемещает внутренний HTML в textarea_wrap Div, чтобы #comment_10 div успешно и при просмотре источника после перемещения DIV с помощью JQuery он выглядит как этот

<div id="comment_10"> 
    <div id="textarea_12" class="txtarea"> 
    <form name="post_comment" action="reply.php" method="post"> 
    <input type="hidden" name="post_title" value="Post Title" /> 
    <input type="hidden" name="post_id" value="12455" /> 
    <textarea class="textarea" id="txt_12"></textarea> 
    <input type="submit" class="button" value="Submit Comment /> 
    </form> 
    </div> 
</div> 

Но это не работает , когда я нажимаю кнопку «Отправить комментарий», ничего не происходит. Если я использую этот код без перехода через jquery, он работает нормально. Не могу понять, почему он не работает после перехода через jquery.

+0

Вы используете javascript/jquery для отправки формы – bipen

ответ

0

не уверен though..check, чтобы увидеть, если вы можете представить его как этот

$('.button').live('click',function({ 
    $('#give your form Id').submit(); 
}); 
2

Учитывая, что форма, которую клонировали имеет такое же имя, как и раньше, это создает ошибку в DOM при попытке для отправки формы.

Предложение: Изменение имени формы при каждом ее клонировании.

Solution (Jquery):

От

var txtarea = $("#textarea_wrap").html(); 
$("#comment_10").html(txtarea); 

Для

var txtarea = $("#textarea_wrap").html(); 
$("#comment_10").html(txtarea).find('form').attr('name','post_comment'+(Math.floor(Math.random()*10000))); 
0

Обе формы имеют то же название "post_comment". Имя формы должно быть уникальным.

0

Это может быть или не быть частью проблемы, но у вас есть синтаксическая ошибка в определении кнопки отправки. Не забудьте закрыть цитату для атрибута value value = "Отправить комментарий

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