0

立ち入り禁止のテレビ コンテンツを制限する Chrome 拡張機能を作成しています。ローカル ストレージに値を保存する 2 つのロールダウン メニュー フォームがあります。

Javascript (外部ファイル):

rating.js

window.onload=function (){
    document.getElementById('saveRatings').onsubmit=saveRatings;
}

function saveRatings() {
    var selectedRatings = document.forms["ratings_form"]["ratings"].value;

// store selectedRatings to local storage
    localStorage.storedRatings = selectedRatings;

}

age.js

window.onload=function (){
    document.getElementById('saveAge').onsubmit=saveAge;
}

function saveAge() {
    var selectedAge = document.forms["age_form"]["age"].value;

// store selectedAge to local storage
    localStorage.storedAge = selectedAge;

}

HTML

                    <summary>Select Content to Allow</summary><br>
                        <form name = "ratings_form" id="saveRatings">
                        <select name="ratings" multiple="multiple">
                            <option value="G">G only</option>
                            <option value="G/PG">G/PG only</option>
                            <option value="G/PG/PG13">G/PG/PG-13 only</option>
                            <option value="G/PG/PG13/R">G/PG/PG-13/R</option>
                        </select>
                        <div></div>
                        <input type="submit" value="Save">  </form>

                        <summary>Select Age Group to Deter</summary><br>
                        <form name = "age_form" id="saveAge">
                        <select name="age" multiple="multiple">
                            <option value="e">Everyone</option>
                            <option value="ct">Children & Teens;</option>
                            <option value="c">Children</option>
                            <option value="0">Turn off</option>
                        </select>
                        <div></div>
                        <input type="submit" value="Save">
                        </form>

age_form のキーと値のペアが正しく格納されます。ただし、 rating_form は常に undefined を返します。順序を入れ替えると (最初に年齢、次に評価)、rating_form のキーと値のペアは正しい値を返しますが、age_value は undefined を返します。2 番目のフォームの値が最初のフォームの値を上書きしているようです。この上書きが発生しないようにするにはどうすればよいですか。

ご協力いただきありがとうございます。

4

1 に答える 1