Я использую <input type="text">
для хранения коллекции значений форм, которые обрабатываются с помощью JavaScript.
В JavaScript значение имеет такую структуру
{"family":"Johnsons","Johnsons":{"girls":["Anna","Bella"],"boys":["Robert"]}}
, поэтому приведенный выше вводвыглядит так, как ДО отправки формы
<input id="main" type="text"
value="{"family":"Johnsons","Johnsons":{"girls":["Anna","Bella"],"boys":["Robert"]}}">
После сохранения формы я получаю это вместо
<input id="main" type="text"
value="{"family":"Johnsons","girls":"Anna","boys":"Robert"}">
Значение ввода задается с помощью этого кода, и я подозреваю, что это должно быть проблемой:
// the input
var main = document.getElementById('main');
// the content structure before JSON.stringify
var content = {
family: "Johnsons",
Johnsons: {
girls: [ "Ana", "Bela" ],
boys: [ "Robert" ]
}
};
main.value = JSON.stringify(content).replace( /\"/g, '\"');
main.setAttribute('value', main.value);
console.log(main.value);
<input id="main" type="text">
Мне нужно ванильное решение JavaScript, но я благодарю вас за любой ответ.