Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   не работает форма отправки, при prepend (https://javascript.ru/forum/jquery/22310-ne-rabotaet-forma-otpravki-pri-prepend.html)

odgrand 14.10.2011 17:18

не работает форма отправки, при prepend
 
Есть вот такой скрипт на главной страничке.
Код:

<script type="text/javascript">

$(document).ready(function () {
        $("#pac_form").submit(Send);
}); 
 
// Функция для отправки сообщения
function Send() {
    // Выполняем запрос к серверу с помощью jquery ajax: $.post(адрес, {параметры запроса}, функция которая вызывается по завершению запроса)
    $.post("otv.php",
        {
        act: "send",  // указываем скрипту, что мы отправляем новое сообщение и его нужно записать
       
        text: $("#msg").val(), //  сам текст сообщения
                vopid: $("#vopid").val()
    },
    Load ); // по завершению отправки вызываем функцию загрузки новых сообщений Load()
 
   
 
    return false; // очень важно из Send() вернуть false. Если этого не сделать то произойдёт отправка нашей формы, те страница перезагрузится
}

И есть вот такой код в otv.php
Код:

$b="'";
 $asd='<div id='.$b.'vop'.$b.'><div>' .$value['date']. '</div><div>'. $value['nick'] . '</div><div>' . $value['msg'] . '</div></div>';
                        // продолжаем формировать скрипт для отправки пользователю
                       
$js .= 'chat.prepend("'.$asd.''.'<div id='.$b.'otv'.$b.' class='.$value['id'].'></div>'.'<a href='.'javascript:ShowOrHide('.$value['id'].')'.'>Ответ</a>'.'<div class=text_spoiler id='.$value['id'].'><form id=pac_form action='.'><input type=hidden id=idvop value='.$value['id'].'><textarea id=msg style=width: 300px;></textarea><input type=submit value='.$b.'Отправить сообщение'.$b.'></form></div>'.'");';
echo $js;

Форма отображается нормально, с этим не каких проблем, но скрипт выполнятся не хочет, тоесть по нажатию на отправка сообщения, страница перезагружается, а не должна. Если данную форму просто поместить на главную страницу то все работает нормально, а вот через prepend не хочет..

odgrand 14.10.2011 17:29

Все решил проблемы путем замены
<input type=submit value='.$b.'Отправить сообщение'.$b.'>
на
<input type=button value=go onClick=Send()>

odgrand 14.10.2011 18:39

Но появилась новая проблема. Форм на странице много. А функция берет значение из самой первой. Как сделать что бы по нажатию на кнопку значения формы передавались в фунцию.

shaltay 14.10.2011 21:15

$("#pac_form").submit(Send);
return false;

так не перезагрузится.


Часовой пояс GMT +3, время: 20:47.