प्रपत्र डेटा को जावास्क्रिप्ट में हथियाने की कोशिश कर रहा है। मुझे यकीन नहीं है कि यह क्यों काम नहीं कर रहा है।
<!DOCTYPE html>
<html>
<body>
<form action="site2.html" onsubmit="store()">
Enter your name: <input type="text" name="name" />
Enter your age: <input type="text" name="age" />
<input type="submit" />
</form>
<!-- <div id="result"></div> -->
<script>
function store() {
// Check browser support
if (typeof(Storage) !== "undefined") {
var s = document.getElementById("name").value;
localStorage.setItem("lastname", s);
}
}
</script>
</body>
</html>
0
mskw
27 अक्टूबर 2019, 22:18
1 उत्तर
सबसे बढ़िया उत्तर
यह इस स्निपेट में काम नहीं करेगा क्योंकि सैंडबॉक्स वाले क्षेत्र में लोकलस्टोरेज को रोका गया है। कोड सिर्फ संदर्भ के लिए यहाँ है। आप इसे इस jsFiddle में काम करते हुए देख सकते हैं। यदि आप फॉर्म जमा करते हैं और पृष्ठ को रीफ्रेश/फिर से चलाते हैं तो आप देखेंगे कि यह स्थानीय स्टोरेज से भी इनपुट मान सेट करता है। इसके अलावा यह फ़ॉर्म में मौजूद किसी भी फ़ील्ड के साथ काम करेगा। इसे काम करते देखने के लिए कुछ और इनपुट जोड़ें। (सुनिश्चित करें कि आप उन्हें name
देते हैं)
jsFiddle काम कर रहा है (यह मानते हुए कि आपका ब्राउज़र लोकलस्टोरेज का समर्थन करता है):
https://jsfiddle.net/jcgodLt6/1/
SO स्निपेट (संदर्भ के लिए यहां):
var form = document.getElementById("myform");
form.addEventListener("submit", store, false);
function store(e){
e.preventDefault();//prevent submission
var inputs = form.elements;
for (let i = 0; i < inputs.length; i++) {
localStorage.setItem(inputs[i].name, inputs[i].value);
console.log(inputs[i].name, inputs[i].value);
}
}
function retrieve(){
var inputs = form.elements;
for (let i = 0; i < inputs.length; i++) {
inputs[i].value = localStorage.getItem(inputs[i].name);
console.log(inputs[i].value);
}
}
retrieve();
<form action="site2.html" onsubmit="store()">
Enter your name: <input type="text" name="name" />
Enter your age: <input type="text" name="age" />
Fave thing: <select name="fave"><option>Bees</option><option>Jam</option></select>
<input type="submit" value="submit" />
</form>
1
Moob
27 अक्टूबर 2019, 20:23