मैं एक फ़ंक्शन बनाता हूं जिसमें फॉर्म के मेरे इनपुट मान किसी ऑब्जेक्ट में एकत्र किए जा रहे हैं, फिर बाद में मैं पूरे ऑब्जेक्ट को एक सरणी में धक्का देता हूं और अपने सरणी को स्थानीय स्टोरेज में सहेजता हूं ... लेकिन समस्या तब होती है जब मैं मान बदलता हूं और फिर से साइन अप करता हूं मेरा पुराने मूल्यों को नए के साथ अधिलेखित कर दिया गया है, लेकिन मैं चाहता हूं कि यह सरणी के सूचकांक 1 को आगे बढ़ाए ताकि मेरी सरणी में 2 वस्तुएं हों और इसी तरह ... कृपया मेरी मदद करें धन्यवाद।

    <script>
        var labelsarray = document.getElementsByTagName("label");
        var inputsarray = document.getElementsByTagName("input");
        var array = [];
        function subm() {
            var users = {
                FirstName: inputsarray[0].value,
                LastName: inputsarray[1].value,
                UserName: inputsarray[2].value,
                Password:  inputsarray[3].value,
                DateofBirth: inputsarray[4].value,
                Age: inputsarray[5].value,
                Purpose: ""
            };
            if (inputsarray[6].checked === true) {
                users.Gender = "Male";
            }
            else if (inputsarray[7].checked === true) {
                users.Gender = "Female";
            }
            if (inputsarray[8].checked === true) {
                users.Purpose += " Storing Apps";
            }
            if (inputsarray[9].checked === true) {
                users.Purpose += " Storing Sites";
            }
            if (inputsarray[10].checked === true) {
                users.Purpose += " Fun";
            }
            array.push(users);
            for (var i=0;i<array.length;i++) {
                localStorage.setItem("User Data: ", JSON.stringify(array[i]));
            }
        }
    </script>
    <div>
        <center>
            <form action="Javascript:void(0);"method="post" onsubmit="subm();">
                <label for="fname">First Name:</label>&emsp;
                <input type="text" id="fname" />
                <br/>
                <label for="lname">Last Name:</label>&emsp;
                <input type="text" id="lname" />
                <br/>
                <label for="uname">User Name:</label>&emsp;
                <input type="text" id="uname" />
                <br/>
                <label for="pass">Password:</label>&emsp;&ensp;&nbsp;
                <input type="text" id="pass" />
                <br/>
                <label for="dob">Date of Birth:</label>&emsp;&emsp;&nbsp;
                <input type="date" id="dob" />
                <br/>
                <label>Age:</label>&emsp;&emsp;&emsp;&emsp;&emsp;
                <input type="text" id="age" />
                <br/>
                <span>Gender:</span>&emsp;&emsp;&emsp;&emsp;&ensp;
                <input type="radio" name="gender" id="male" />
                <label for="male">Male</label>
                <input type="radio" name="gender" id="female" />
                <label for="female">Female</label>
                <br/>
                <p>For what purpose(s) you are making account?</p>
                <input type="checkbox" id="app" name="purpose" value="storingapps" />
                <label for="app">Storing Apps</label>
                <input type="checkbox" id="site" name="purpose" value="storingsites" />
                <label for="site">Storing Sites</label>
                <input type="checkbox" id="fun" name="purpose" value="fun" />
                <label for="fun">Fun</label>
                <br/>
                <input type="submit" value="Submit"  class="button" />
            </form>
        </center>
    </div>
0
Arham Awan 3 अप्रैल 2018, 18:57

1 उत्तर

सबसे बढ़िया उत्तर

हर बार जब आप अपने स्थानीय संग्रहण में सहेजते हैं तो आप केवल अंतिम आइटम सहेज रहे होते हैं। क्योंकि प्रत्येक सेव को अगले एक से बदल दिया जाएगा और केवल आखिरी वाला दिखाई देगा। इसके बजाय आपको केवल सरणी को स्थानीय संग्रहण में सहेजने की आवश्यकता है

// (not needed) for (var i=0;i<array.length;i++) {
    localStorage.setItem("User Data: ", JSON.stringify(array));
// (not needed) }

अब आपके स्थानीय भंडारण में वस्तुओं की सरणी होगी

0
Prasanna 3 अप्रैल 2018, 16:04