#javascript
#javascript
Вопрос:
Я новичок в javascript, и у меня возникли некоторые проблемы с хранением данных в локальном хранилище. Я хочу сохранить данные формы в объекте JSON, чтобы записи добавлялись в массив объектов и могли быть сохранены в локальном хранилище. Но каждый раз, когда журнал отображает ошибку при получении значения элемента выбора. Вот код:
home.html
<form id="form" onsubmit="submit();">
<h3 align="center" >Contact Form</h3>
<table align="center" cellspacing="3dp" cellpadding="20dp">
<tr>
<td><label>Name:</label></td>
<td><input type="text" required align="center" size="20dp" id="name"></td>
</tr>
<tr>
<td><label>Email:</label></td>
<td><input type="email" required align="center" size="20dp" id="email"></td>
</tr>
<tr>
<td><label>Contact No.:</label></td>
<td><input type="text" required align="center" size="20dp" id="contact"></td>
</tr>
<tr>
<td><label>Gender:</label></td>
<td><select name="gender" id="gender">
<option value="Male">Male</option>
<option value="Female">Female</option>
<option value="other">Other</option>
</select></td>
</tr>
<tr>
<td><label>Comments</label></td>
<td><textarea id="comment"></textarea></td>
</tr>
<tr><td><br></td></tr>
<tr>
<td><input type="submit" value="Submit" align="center"> </td>
</tr>
</table>
</form>
и js:
main.js
function submit()
{
var myData = JSON.parse(localStorage.getItem('records'))||[];
var newData =
[{
'name': document.getElementById("name"),
'email': document.getElementById("email"),
'contact': document.getElementById("contact"),
'gender': document.getElementById("gender"),
'comment':document.getElementById("comment")
}];
myData.push(newData);
localStorage.setItem("records", JSON.stringify(myData));
var newData1 = JSON.parse(localStorage.getItem("records"));
Есть предложения?
Комментарии:
1. в чем ошибка?
2. Вот что я пытаюсь выяснить. каждый раз, когда действие отправки перезаписывает URL-адрес на: localhost:63342/home.html?пол = Мужской
3. вы не можете связать здесь свои страницы локального хостинга
4. я буду иметь это в виду. Спасибо
Ответ №1:
Я думаю, вы хотели бы взглянуть на эту обновленную скрипку
проблема с вашим кодом заключается в том, что вы сохраняете DOM elements
в объекте, а не в значении elements
я изменил эту функцию
var newData =
[{
'name': document.getElementById("name").value,
'email': document.getElementById("email").value,
'contact': document.getElementById("contact").value,
'gender': document.getElementById("gender").value,
'comment':document.getElementById("comment").value
}];
Комментарии:
1. fiddle.jshell.net/siddarthvader/f7e8rLqt/show/:60 Неперехваченная синтаксическая ошибка: неожиданное завершение ввода fiddle.jshell.net/:60 Неперехваченная синтаксическая ошибка: неожиданное завершение ввода