Я не знаю, что у вас за проблемы;) Наверняка это можно сделать! Это ЯВАСЦРИПТ !!! Все возможно - даже, может быть, не все время ощущается полным. Это здесь сделает свое дело. Но наверняка это не элегантно и не рекомендуется. просто для удовольствия.
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
</head>
<body>
<select id="select-options-beneficiaries" aria-describedby="selector2" onchange="silly();">
<option selected value="Jhon Doe">Jhon Doe</option>
<option value="Jane Doe">Jane Doe</option>
<option value="New Beneficiary">New Beneficiary</option>
</select>
<br><br>
<textarea id="x" style="width:800px; height:200px;"></textarea>
<script>
function silly() {
value = document.getElementById("select-options-beneficiaries").value;
console.log(value);
options = document.getElementById("select-options-beneficiaries").childNodes;
var HTML = '<select id="select-options-beneficiaries" aria-describedby="selector2">\n';
for (i = 0; i < options.length; i++) {
var o = options[i].outerHTML;
if (o) {
var test = 'value="' + value + '"';
var x = o.indexOf(test);
o = o.replace(' selected=""', '');
if (o.indexOf(test) > -1) {
o = o.replace('value="', 'selected ' + 'value="');
}
HTML = HTML + o + "\n"
}
}
HTML = HTML + "</select>"
sessionStorage.setItem('htmlBeneficiariesData', HTML);
document.getElementById("x").value=sessionStorage.getItem('htmlBeneficiariesData');
}
silly();
</script>
</body>
</html>
, если вы хотите использовать свой код, этот код может сработать и после того, как ваш HTML-скрипт сначала добавит apiece перед сохранением, выберите выделение
value = document.getElementById("select-options-beneficiaries").value;
, а теперь добавьтекак строка для вашего innerHTML this
'<script>document.getElementById("select-options-beneficiaries").value="'+value+'";</script>\n"
Сначала вы накачаете HTML-код с неправильными настройками, а затем исправите его с помощью этого куска кода.
Обычный способ - просто сохранить всезначения формы и воссоздать все значения формы по сохраненным данным. Обычно хранится как объект json, а затем применяется javascript.
Здесь вы поместите всю свою форму, например, в объект URL. Я использую его для запросов POST для передачи данных формы. С decodeURIComponent вы получите значения обратно и сможете применить их все к вашей форме. Или измените компонент decodeURIC в соответствии с вашими потребностями.
function serialize(form) {
if (!form || form.nodeName !== "FORM") {
return;
}
var i, j, q = [];
for (i = form.elements.length - 1; i >= 0; i = i - 1) {
if (form.elements[i].name === "") {
continue;
}
switch (form.elements[i].nodeName) {
case 'INPUT':
switch (form.elements[i].type) {
case 'text':
case 'tel':
case 'email':
case 'hidden':
case 'password':
case 'button':
case 'reset':
case 'submit':
q.push(form.elements[i].name + "=" +
encodeURIComponent(form.elements[i].value));
break;
case 'checkbox':
case 'radio':
if (form.elements[i].checked) {
q.push(form.elements[i].name + "=" +
encodeURIComponent(form.elements[i].value));
}
break;
}
break;
case 'file':
break;
case 'TEXTAREA':
q.push(form.elements[i].name + "=" +
encodeURIComponent(form.elements[i].value));
break;
case 'SELECT':
switch (form.elements[i].type) {
case 'select-one':
q.push(form.elements[i].name + "=" +
encodeURIComponent(form.elements[i].value));
break;
case 'select-multiple':
for (j = form.elements[i].options.length - 1; j >=
0; j = j - 1) {
if (form.elements[i].options[j].selected) {
q.push(form.elements[i].name + "=" +
encodeURIComponent(form.elements[i].options[j].value));
}
}
break;
}
break;
case 'BUTTON':
switch (form.elements[i].type) {
case 'reset':
case 'submit':
case 'button':
q.push(form.elements[i].name + "=" +
encodeURIComponent(form.elements[i].value));
break;
}
break;
}
}
return q.join("&");
}
Получайте удовольствие:)