Предотвратить полное обновление страницы при передаче данных из ajax

Я пытаюсь отправить простую форму в php-файле заголовка и получить доступ к его значению, чтобы изменить содержимое страницы в одном из моих представлений. Я могу передать значение ajax, но когда я это сделаю, эта полная страница заголовка снова перезагружается. Помогите, пожалуйста, как предотвратить перезагрузку страницы.

Вот моя форма в заголовочном файле

<form  class = "choose-form form-holder" >
                                <select id = "usertype" onChange = "selectChange()">
                                    <option value=1>JS</option>
                                    <option value=2>JP</option>
                                </select>
</form>

Вот мой сценарий для отправки формы в файле заголовка php

<script>
function selectChange() {
            debugger;
            var usertype = $('#usertype').val();
                $.ajax({
                    type: 'GET',
                    data: {usertype: usertype},
                    success: function (response) {                  
                        $('#response').html(response);
                    },
                    error: function () {
                        alert("error");
                    }
                });
                return false;
        }
</script>

Это мой код на странице просмотра php для доступа к типу и изменения содержимого

<div id = "response">
        <?php if (!empty($_GET['usertype'])){
            $type = $_GET['usertype'];

        }
?></div>

<?php if ((isset($type)) && ($type == 2)){?>
            //some other content
<?php }else{  ?>
    //change the content
<?php } ?>

На что указывает ваш AJAX? Я не вижу ни одного целевого файла.

hungrykoala 03.05.2018 09:07

Я не передал URL, так как хочу получать данные на той же странице

Palak 03.05.2018 09:23

Итак, что вы здесь делаете, так это то, что при выборе вы проверяете, что они выбрали, и отображаете соответствующий контент на основе этого? Тогда вам не нужен ajax, поскольку все это можно сделать с помощью JS

hungrykoala 03.05.2018 09:35

Конечно, большое спасибо за предложение! Не могли бы вы помочь мне, как я могу пройти через JS и проверить свое условие if else? Мне очень жаль, но я новичок в этом и узнал об этом.

Palak 03.05.2018 09:37

Добавьте тег "jquery".

dcromley 03.05.2018 23:18

Куда мне добавить, пожалуйста? в моей функции selectChange.

Palak 04.05.2018 16:26
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
6
60
1

Ответы 1

Попробуйте ниже:

<script>
function selectChange(event) {
    event.preventDefault();
    debugger;
    var usertype = $('#usertype').val();
    $.ajax({
        type: 'GET',
        data: {usertype: usertype},
        success: function (response) {
            $('#response').html(response);
        },
        error: function () {
            alert("error");
        }
    });
    return false;
}

Спасибо, Sibusiso. Я пробовал это. Это дает мне ошибку «Uncaught TypeError: Cannot read property 'preventDefault' of undefined». Мне нужно что-то добавить сюда, пожалуйста?

Palak 03.05.2018 09:29

Другие вопросы по теме