0
私はHTMLページで言語選択ラジオボタンを使用しています。言語を選択すると、同じURLに '?lang ='を追加して呼び出します。これは私がjs経由でやっていて、URLが提出されたら&が?に置き換えられます。以下は私のjsコードです。Javascriptのurl.location&で置き換えられましたか?
function removeBookmarkFromUrl(url) {
var arr = url.split("#");
return arr[0];
}
$(document).ready(function() {
$('input:radio[name=lang]').change(function() {
var url = window.location.href;
var selectedLang = $(this).attr('id');
url = removeBookmarkFromUrl(url);
if (url.indexOf('?lang') >= 0 || url.indexOf('&lang') >= 0) {
var pos = (url.indexOf('?lang') >=0) ? url.indexOf('?lang') : url.indexOf('&lang');
var currentLang = url.slice(pos + 6, pos + 8);
if (url.charAt(pos) == '?') {
url = url.replace('?lang=' + currentLang, '?lang=' + selectedLang);
window.location = url;
} else if (url.charAt(pos) == '&') {
url = url.replace('&lang=' + currentLang, '&lang=' + selectedLang);
window.location = url;
}
} else {
if (url.indexOf('?') >= 0) {
window.location = url + '&lang=' + selectedLang;
} else {
window.location = url + '?lang=' + selectedLang;
}
}
});
});
言語を選択すると、ブラウザのURLはhttp://localhost:8080/test/report.htm?count=40&name=jerry?lang=enになります。私はコードをデバッグし、URLがhttp://localhost:8080/test/report.htm?count=40&name=jerry&lang=enであるのを見ましたが、これは提出時に変更されています。