Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Применение библиотек > ajax отправка формы без перезагрузки страници / jQ


Автор: Slavaweb 26.2.2014, 10:31
Если форма одна на страницу, то все работает нормально. 
Если таких форм n-количество на странице, то работает только первая, подскажите, как сделать, что бы работали все формы.

index.html

Код

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Отправка формы Ajax</title>
<script type="text/javascript" src="/jQuery.min.js"></script>
<script type="text/javascript">
    function send()
    {
        //Получаем параметры
        var data = $('#mydata').val()
          // Отсылаем паметры
               $.ajax({
                        type: "POST",
                        url: "/SendData.php",
                        data: "data="+data,
                        // Выводим то что вернул PHP
                        success: function(html) {
         //предварительно очищаем нужный элемент страницы
                                $("#result").empty();
        //и выводим ответ php скрипта
                                $("#result").append(html);
                        }
                });
    }
</script>
</head>
<body>
    <form action="" id="myform">
        <input type="text" name="mydata" id="mydata" />
        <input type="button" onclick="send();" value="Отправить" />
    </form>
    
    <div id="result"></div>
</body>
</html>



SendData.php

Код

<?php
$data = $_POST[data];

echo $data;
?>


Автор: everyone 6.3.2014, 16:29
Код

var forms = $('.myform'); // Не идентификатор, а класс

forms.submit(function(event) {
               $.ajax({
//...
                        data: event.currentTarget.serialize(),
//...
                });
});



Ссылку на форму скорее всего можно получить и из объекта события event.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)