Sc0undRel
@Sc0undRel

Почему после Ajax не работает Javascript?

Значит вот как.. у меня на странице между в (document).ready(function() прописан javascript, который реагирует при $('.myTags').submit(function()
Код исправный.

Но теперь я дописал код, который при помощи Ajax подменяет контент и элемент с классом .myTags тоже.
После подмены контента всё остается как прежде и элемент с классом .myTags тоже, только текст заменяется, но почемуто $('.myTags').submit(function() перестаёт работать.

Почему так?

<head>
<script type="text/javascript">
    $(document).ready(function() {
        $('.myTags').submit(function(){
            alert("123");
            var data = $(this).serialize(); //получаем данные фрмы
            $.ajax({
                type: "POST",
                url: "ajax/addskills.php",
                data: (data),
                success: function(data)
                {
                    alert("done");
                }
            });
            return false;
        });

$('.rightskills').click(function(){
            var selectedskill = $(this).attr("id");
            $.ajax({
                type: "POST",
                url: "ajax/selectedskill.php",
                data: {selectedskill:selectedskill}
            }).done(function( result ) {
                $(".searchresult").html( result );
            });
        });
    });
</script>
</head>
<body>
<div class="rightskills">клац</div>
<div class="searchresult">
<form method='POST' class='myTags'>
<input name=tag>
</form>
</div>
</body>
  • Вопрос задан
  • 1358 просмотров
Решения вопроса 1
@IceJOKER
Web/Android developer
если меняется сам элемент, который слушает какое-либо событие, то юзайте $.on();

$('body').on('submit', '.myTag', function(){});

Почему так?

Ответ прост - вы сначала вешаете слушатель, а потом заменяете элемент другими данными, поэтому слушатель события тоже уходит в бездну вместе со старыми данными, как исправить? Ответ выше, юзайте другой способ
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы