お世話になります。
弊社本店サイトにて、お客様自身でカスタムできるページがあり、
お客様に選択に迷わないよう、javascriptを使い選択肢を制御しています。
▼該当ページ
https://www.4860.jp/original-order/kubota/kub-ord-kg/kub-ord-kg入力・選択する上では、javascriptの動作に問題がないのですが、
入力の確認画面へ行き、前のページに戻るボタンを押し、前のページに戻った際、
javascriptで制御している箇所が解除されています。
▼問題の箇所①
「2 レザー(本体)カラーを選択して下さい」の項目で「2色以上」を選択します。
↓
「2色以上をご希望の方」の内容が表示され、プルダウンメニューが選択できるようになります。
プルダウンを選択
↓
ページ下部の「オーダー内容の確認」をクリックし、エラー画面に遷移します。
「前のページに戻る」をクリックすると、ラジオボタンの「2色以上」は保持されますが、
「2色以上をご希望の方」の内容が消え、2色以上をご希望の方のプルダウンメニューの内容も解除されています。
▼問題の箇所②
「14 指カバー・指あての有無を選択して下さい」の項目で「指カバーA」のプルダウンメニューを選択し、
他の「指カバーB、指あて」が選択ができないようになります
↓
ページ下部の「オーダー内容の確認」をクリックし、エラー画面に遷移します。
「前のページに戻る」をクリックすると、プルダウンメニューの選択肢は残りますが、
「指カバーB、指あて」が選択ができてしまいます。
javascriptの制御を保持した状態で、ページに戻る設定がありましたら、
ご教示のほどよろしくお願いします。
▼該当ページのjavascriptの記述
<script>
//基本モデル切替
$(function() {
$(".tab li").click(function() {
var num = $(".tab li").index(this);
$(".tabContent").removeClass('active');
$(".tabContent").eq(num).addClass('active');
$(".tab li").removeClass('active');
$(this).addClass('active')
});
});
//2色以上選択した時
function checkradio( disp ) {
var kawaColor = document.getElementsByName("レザー(本体)カラー*3");
var kawa1 = document.getElementById("LC2List1");
var kawa2 = document.getElementById("LC2List2");
var kawa3 = document.getElementById("LC2List3");
document.getElementById('colors').style.display = disp;
if(kawaColor.value=="2色以上"){
} else {
//2色以上以外を選択した場合、プルダウンメニューをリセット
kawa1.selectedIndex = 0;
kawa2.selectedIndex = 0;
kawa3.selectedIndex = 0;
}
}
</script>
<script language="JavaScript" type="text/JavaScript">
function bmatch(txt,chk) {
if (txt.indexOf(chk) != -1) { return true; } else { return false; }
}
// 基本モデルを変更した場合のスクリプト
function changeModel(parts) {
// 選んだ基本モデルのタイプを調べる
var pitcher=false, infielder=false, outfielder=false, allposi=false;
model=parts.options[parts.selectedIndex].value;
if (model.match(/ピッチャー/i)) {pitcher=true;} //投手用
if (model.match(/外野/i)) {outfielder=true;} //外野手用
if (model.match(/オールポジション/i) || model.match(/オールラウンド/i)) {allposi=true;} //オールポジション
if (model.match(/内野/i) || model.match(/セカンド/i) || model.match(/ショート/i) || model.match(/サード/i)) {infielder=true;} //内野手用
// ウェブの選択可・不可変更処理(一番最初は飛ばす)
var webList = document.getElementsByName('ウェブスタイル*4');
for (var i = 1; i < webList.length; i++) {
switch (true) {
case pitcher && bmatch(webList[i].value,'ピッチャー'):break;
case infielder && bmatch(webList[i].value,'内野'):break;
case outfielder && bmatch(webList[i].value,'外野'):break;
case allposi && bmatch(webList[i].value,'オールポジション'):break;
default:webList[i].disabled=true; webList[i].selectedIndex=false; continue; break;
}
webList[i].disabled=false;
}
// バックスタイルの選択可・不可変更処理
var bsList = document.getElementsByName('バックスタイル*5');
if ( model.match(/FM1型/i) || model.match(/FM5型/i)|| model.match(/FM7型/i)|| model.match(/FM8型/i)) {
bsList[0].disabled=true; bsList[1].disabled=false;
} else {
bsList[1].disabled=true;
bsList[0].disabled=false;
}
// 芯トジの選択可・不可変更処理
var stList = document.getElementsByName('芯トジ形態*6');
stList[0].disabled=true; stList[2].disabled=true; //タテトジと辻トジを一度選択不可にする
if (allposi || pitcher || outfielder) {stList[0].disabled=false;} else {stList[0].checked=false} //タテトジ
if (allposi || infielder) {stList[2].disabled=false;} else {stList[2].checked=false} //辻トジ
}
// ウェブレースカラー選択
function changeWeb(parts) {
var elem = document.getElementsByName('ウェブレースカラー・オプション')[0];
if (bmatch(parts.value,'W-23') || bmatch(parts.value,'W-26')) {
elem.disabled = false;
} else {
elem.disabled = true; elem.selectedIndex = 0;
}
}
</script>