第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

使用值和所有保存整個(gè) HTML 結(jié)構(gòu)

使用值和所有保存整個(gè) HTML 結(jié)構(gòu)

慕森卡 2021-11-18 09:33:38
我正在嘗試使用選定的值和所有值保存一些 html 結(jié)構(gòu)。<select id="select-options-beneficiaries" aria-describedby="selector2">    <option selected value="Jhon Doe">Jhon Doe</option>    <option value="Jane Doe">Jane Doe</option>    <option value="New Beneficiary">New Beneficiary</option></select>我正在像這樣保存這塊塊:var htmlBeneficiariesData = document.getElementById('select-options-beneficiaries').innerHTML;sessionStorage.setItem('htmlBeneficiariesData', htmlBeneficiariesData);現(xiàn)在,當(dāng)我嘗試檢索信息并將其添加到前面時(shí),它不會(huì)保存選定的值或保存在輸入中的值。var sessionBeneficiariesData = sessionStorage.getItem('htmlBeneficiariesData');$('#plan-beneficiaries-container').prepend(sessionBeneficiariesData);有沒(méi)有辦法保存 HTML 結(jié)構(gòu),包括選定的值和輸入?為什么我需要這樣做?嗯,例如 html 是使用 JS 創(chuàng)建的,所以當(dāng)一個(gè)按鈕被點(diǎn)擊時(shí),它會(huì)像上面那樣創(chuàng)建新的 HTML。因此,每次單擊按鈕時(shí),都會(huì)生成一個(gè)新的選擇和輸入。把JS生成的字段中的信息全部填完后,進(jìn)入下一頁(yè),然后當(dāng)你嘗試返回時(shí),信息(HTML和值)丟失了(因?yàn)樗峭ㄟ^(guò)單擊生成的按鈕)以及為什么這樣做?為什么我不能改變它?因?yàn)?UX 團(tuán)隊(duì)是這樣設(shè)計(jì)的。
查看完整描述

2 回答

?
Helenr

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超4個(gè)贊

我不知道你有什么問(wèn)題;) 肯定可以做到!是JAVASCRIPT?。?!一切皆有可能——甚至可能不會(huì)一直感覺(jué)飽滿。這將解決問(wèn)題。但可以肯定的是,這既不優(yōu)雅也不建議。只是為了好玩。


            <!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 添加一個(gè)腳本之后,然后再保存選擇


 value = document.getElementById("select-options-beneficiaries").value;

現(xiàn)在作為字符串添加到你的innerHTML這個(gè)


 '<script>document.getElementById("select-options-beneficiaries").value="'+value+'";</script>\n" 

您首先將首先使用錯(cuò)誤的設(shè)置抽取 html,然后通過(guò)這段代碼進(jìn)行更正。


正常的方法只是存儲(chǔ)所有表單值并通過(guò)保存的數(shù)據(jù)重新創(chuàng)建所有表單值。通常存儲(chǔ)為 json 對(duì)象,稍后由 javascript 應(yīng)用。


例如,這里會(huì)將您的整個(gè)表單放入一個(gè) URL 對(duì)象中。我將它用于 POST 請(qǐng)求以傳輸表單數(shù)據(jù)。使用 decodeURIComponent,您將取回值并將它們?nèi)繎?yīng)用到您的表單中?;蛘吒鶕?jù)您的需要更改 decodeURIComponent 部分。


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("&");

            }

玩得開心 :)


查看完整回答
反對(duì) 回復(fù) 2021-11-18
?
浮云間

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超4個(gè)贊

我能理解你的情況。如果我理解你的問(wèn)題,我想這就是你要找的:


var htmlBeneficiariesData = document.getElementById('select-options-beneficiaries').innerHTML;

var htmlBeneficiariesDataSelected = document.getElementById('select-options-beneficiaries').selectedIndex; // get selected index

sessionStorage.setItem('htmlBeneficiariesData', htmlBeneficiariesData);

sessionStorage.setItem('htmlBeneficiariesDataSelected', htmlBeneficiariesDataSelected); // store selected index


var sessionBeneficiariesData = sessionStorage.getItem('htmlBeneficiariesData');

var sessionBeneficiariesDataSelected = sessionStorage.getItem('htmlBeneficiariesDataSelected'); // get selected index that was stored

document.querySelector('#plan-beneficiaries-container').innerHTML = sessionBeneficiariesData;

document.querySelector('#plan-beneficiaries-container').selectedIndex = sessionBeneficiariesDataSelected; // mark the selected index on the generated select

<p>Original</p>

<select id="select-options-beneficiaries" aria-describedby="selector2">

    <option selected value="Jhon Doe">Jhon Doe</option>

    <option value="Jane Doe">Jane Doe</option>

    <option value="New Beneficiary">New Beneficiary</option>

</select>

<hr />

<p>Generated</p>

<select id="plan-beneficiaries-container"></select>

注意:出于安全原因,這不適用于代碼段,因此您必須自己測(cè)試。


查看完整回答
反對(duì) 回復(fù) 2021-11-18
  • 2 回答
  • 0 關(guān)注
  • 182 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)