我知道,有很多与这个主题有关的问题,我已经检查了很多,但我无法弄清楚,我的代码出了什么问题。而且我不知道还能尝试什么。提交后,我转到 lang.php,但我需要保持在同一页面上。
下面是语言更改的块:
<div id="language">
<form method="post" action="lang.php" id="langForm">
<select name="language" onchange="this.form.submit()">
<option value="en">en</option>
<option value="ru">ru</option>
</select>
</form>
</div>
这是js:
$(document).ready(function() {
$('form#langForm').submit(function (event) {
$.ajax({
type: 'post',
url: 'lang.php',
data: $('form#langForm').serialize()
});
event.preventDefault();
return false;
});
});
它能有什么问题?
不要使用原生表单提交$('form#langForm').submit
它将重定向您的位置。
只需自己发送 Ajax。
尝试类似的东西
<select name="language" onchange="sendAjax">
<option value="en">en</option>
<option value="ru">ru</option>
</select>
.js:
function sendAjax() {
$.ajax({
type: 'post',
url: 'lang.php',
data: $('form#langForm').serialize()
});
}