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


Автор: kamnerobot 14.7.2016, 02:24
       Использую jQuery-3.0.0(в мануале была более старая версия), в данном примере по клику на кнопке, скрипт берёт значения двух полей формы, передаёт их в test.php. Который отдаёт их строкой обратно и полученная строка отображается в единственном на странице диве.

        Строку от test.php я получаю, она отображается в диве, но всего на долю секунды и тут же исчезает. В чём может быть косяк?

   *Это код в страницы:*
Код

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>jQuery Lesson 2</title>
    <script type="text/javascript" src="jquery-3.0.0.min.js"></script>
    <script type="text/javascript">

        function f(){
            var fio = $("#fio").val();
            var summer = $("#summer option:selected").val();
            var str = "fio="+fio+"&summer="+summer;
            var otvet=" ";
            $.ajax({
                type: "POST",
                url: "test.php",
                dataType: "text",
                data: str,
                success: function(msg){
                   $("div").html(msg);
                }
            });
        }


    </script>
</head>
<body>
<div></div>
<form method="POST">
    Введите ФИО <br />
    <input type="text" id="fio" /><br />
    Где вы планируете отдыхать этим летом?<br />
    <select id="summer">
        <option value="rus">Россия</option>
        <option value="france">Европа</option>
        <option value="china">Азия</option>
    </select><br /><br />
    <button class="submit" onclick="f()">Отправить</button>
</form>
</body>
</html>

*А это test.php*
Код

<?php
echo 'Получено ' . $_POST[fio] .' ' .$_POST[summer];
?>


Заранее спасибо

Автор: igorold 14.7.2016, 09:22
Попробуй так:

Код

<form method="POST" onsubmit="return false">


Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/jQuery-300-glyuk-id5786ce47ae20156c348b4567#findElement_E7045_57872f8fae2015d8297c76e9_0

Автор: kamnerobot 14.7.2016, 12:00
не помогло

Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/jQuery-300-glyuk-id5786ce47ae20156c348b4567#findElement_E7045_57875492ae2015c76a7c7b3b_0

Автор: kamnerobot 14.7.2016, 12:02
А не, не туда вставил,. Помогло! спасибо
А почему так происходит? физика процесса интересна

Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/jQuery-300-glyuk-id5786ce47ae20156c348b4567#findElement_E7045_57875514ae2015b76c7c7a65_0

Автор: igorold 14.7.2016, 12:38
физика элементарная - по нажатию поля с типом submit, ваша форма просто обновляется ... а в обновленной форме ваш див пустой.
Но перед этим "успевает прорисоваться", а потом вы возвращаетесь к исходному состоянию.

Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/jQuery-300-glyuk-id5786ce47ae20156c348b4567#findElement_E7045_57875da2ae20157f757c7b43_0

Автор: kamnerobot 14.7.2016, 22:14
Спасибо

Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/jQuery-300-glyuk-id5786ce47ae20156c348b4567#findElement_E7045_5787e48bae2015f70c7c7a05_0

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