#javascript #php #jquery #ajax
#javascript #php #jquery #ajax
Вопрос:
let getLoginPassSystem = function (getPassForgotSystem, getLoginCheckSystem) {
$(document).ready(function () {
$('#login,#lostpasswordform,#register').submit(function (e) {
e.preventDefault();
$.ajax({
type: "POST",
url: 'http://www.virtuelles-museum.com.udev/spielelogin/logsystem.php',
data: $(this).serialize(),
success: function (response) {
var data = JSON.parse(response);
if (data.success == "accepted") {
document.getElementById('inner').innerHTML = 'Herzlich Willkommen';
// location.href = 'index.php';
} else {
alert('Ungültige Email oder Password!');
}
}
});
});
})
}
Ну, я хочу иметь для каждой формы (#login, #lostpasswordform, #register) другое «оповещение». Возможно ли это на самом деле?
Комментарии:
1. Кстати, я знаю, что если я выполню другую функцию, это сработает, но я должен использовать в одной функции.
2. Просто чтобы было ясно, есть несколько способов добиться этого. Вывод: все решения будут работать для вас, вам нужно решить, с каким из них продолжить. решение @raximjon может быть масштабируемым для вас.
Ответ №1:
Вы можете сохранить массаж оповещения в каждом теге div в качестве атрибута данных. Например:
<div id="login" data-msg="message1"></div>
<div id="lostpasswordform" data-msg="message2"></div>
<div id="register" data-msg="message3"></div>
// then you can invoke them like this
let getLoginPassSystem = function (getPassForgotSystem, getLoginCheckSystem) {
$(document).ready(function () {
$('#login,#lostpasswordform,#register').submit(function (e) {
e.preventDefault();
let current_form = $(this);
$.ajax({
type: "POST",
url: 'http://www.virtuelles-museum.com.udev/spielelogin/logsystem.php',
data: $(this).serialize(),
success: function (response) {
var data = JSON.parse(response);
if (data.success == "accepted") {
document.getElementById('inner').innerHTML = 'Herzlich Willkommen';
// location.href = 'index.php';
} else {
alert(current_form.attr('data-msg'));
}
}
});
});
})
}
Комментарии:
1. Хорошо, я вышел из области видимости.
2. На самом деле это правильный код, но каким-то образом он перезагружает мою страницу.
3. Пожалуйста, попробуйте прокомментировать измененные части кода и теста. Я думаю, что есть другой код, который вызывает эту проблему
Ответ №2:
Похоже, вы можете просто проверить e.target
— оно будет разным для каждой формы.
Вы можете получить более подробную информацию Event.target
здесь: https://developer.mozilla.org/en-US/docs/Web/API/Event/target
Комментарии:
1. Всегда предлагается добавить небольшой фрагмент кода, чтобы объяснить, как вы предлагаете вам решение, иначе вы можете просто прокомментировать исходный вопрос.