简体   繁体   English

页面刷新后,无法使用javascript保留动态形成的表行中的值

[英]Not able to retain the values in the row of dynamically formed table using javascript after page refresh

I have the following js code in my jsp. 我的jsp中有以下js代码。 Im not able to retain those textbox values below after the page is refreshed. 刷新页面后,我无法在下面保留这些文本框值。 Any idea how to retain the values? 任何想法如何保留价值? Im calling this js function onclick of a html button so that it dynamically adds the row to the table. 我在一个HTML按钮的onclick上调用此js函数,以便将其动态添加到表中。

 <script>
        function addRow(tableID) {
            if(validateForm()==true){
            document.getElementById('cruisedowntime2').style.display = "block";
            var table = document.getElementById(tableID);

            var rowCount = table.rows.length;
            var row = table.insertRow(rowCount);

          /*  var cell1 = row.insertCell(0);
            var element1 = document.createElement("input");
            element1.type = "checkbox";
            element1.name = "chkbox[]";
            element1.defaultChecked="true";
            cell1.appendChild(element1);*/

            var cell0 = row.insertCell(0);
            var element0=document.createElement("select");
            element0.name="cruiselinedropdown";
            var dropdownlist1=document.getElementById("droplist1");

            var defaultselected=dropdownlist1.options[dropdownlist1.selectedIndex].value;
    //window.location.replace("http://localhost:8085/Bridge_Downtime_Utility/Servlet?var="+defaultselected);
            <%Map<String, String> map = new HashMap<String,String>();
                                    for (int i = 0; i < crsenamelist.size(); i++) {
                                        map.put(crsenamelist.get(i),crsecodelist.get(i));
                                    }


                       %>
            element0.options.add( new Option(defaultselected,defaultselected,true,true) );

            element0.options.add( new Option("--","") );
            <%

      for(Map.Entry m:map.entrySet()){   %>
            element0.options.add( new Option("<%=m.getValue()%>","<%=m.getValue()%>") );

            cell0.appendChild(element0);<%}%>

            var textbox3=document.getElementById('starttime');
            var textbox7=document.getElementById('startdate');
            var cell2 = row.insertCell(1);
            var element2 = document.createElement("input");
            element2.title="Date: YYYY-MM-DD";
            element2.type = "text";
            element2.name = "starttimetextbox";
            element2.value=textbox7.value+"  "+textbox3.value;
            cell2.appendChild(element2);

            var textbox5=document.getElementById('endtime');
            var textbox9=document.getElementById('enddate');
            var cell3 = row.insertCell(2);
            var element3 = document.createElement("input");
            element3.title="Date: YYYY-MM-DD";
            element3.type = "text";
            element3.name = "endtimetextbox";
            element3.value=textbox9.value+"  "+textbox5.value;
            cell3.appendChild(element3);

            var textbox1=document.getElementById('descrip');
            var cell4 = row.insertCell(3);
            var element4 = document.createElement("input");
            element4.type = "text";
            element4.name = "descriptextbox";
            if(textbox1.value==''){element4.value="-";}
            else
            element4.value=textbox1.value;
            cell4.appendChild(element4);
            //cell4.contenteditable=true;
           /* var addRowBox = document.createElement("input");
            addRowBox.setAttribute("type", "button");
            addRowBox.setAttribute("value", "Edit");



            var cell5 = row.insertCell(5);
            cell5.appendChild(addRowBox);*/


            var deleteRowBox = document.createElement("input");
            deleteRowBox.setAttribute("type", "button");
            deleteRowBox.setAttribute("value", "X");
            deleteRowBox.setAttribute("onclick","SomeDeleteRowFunction(this)");

            var cell6 = row.insertCell(4);
            cell6.appendChild(deleteRowBox);
            }}





    </script>

如果您希望数据在页面刷新后仍然存在,则可以存储数据,然后从localStorage加载。

To keep your data upon page refresh you need to save it somewhere, for future (after page reload) access. 要在刷新页面时保留数据,您需要将其保存在某处,以供将来(页面重新加载后)访问。

  • Store it somewhere at your backend, and then access your, for instance, REST service upon page load. 将其存储在后端的某个位置,然后在页面加载时访问您的REST服务。
  • Store it in localStorage\\sessionStorage in browser. 将其存储在浏览器的localStorage \\ sessionStorage中。

There are no other ways to keep data without actually keeping it :) 没有其他方法可以保留数据而不实际保留它:)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Javascript:如果滚动后页面刷新,则保留类 - Javascript: Retain class if page refresh after scrolling 重新加载页面后,在javascript中保留下拉列表值 - retain dropdown values in javascript after the page is reloaded 页面刷新后保留两个相关下拉列表中的值 - Retain Values in two related Dropdown List after Page refresh JavaScript-保留“ textbox2”值,使其在刷新/重新打开页面后可用 - JavaScript - retain “textbox2” value for it to be available after refresh/reopen page 页面重定向后保留表单值,使用JavaScript在新表单中显示这些值 - Retain form values after page redirect, show these values in new Form using JavaScript 使用javascript动态在第一个表格行旁边添加表格行,而不是在第一个表格行之后添加 - Dynamically adding table row beside the first table row instead after the first table row using javascript 在php页面加载后使用Ajax动态呈现表值 - Render table values dynamically using Ajax after page load in php 在Angularjs中刷新后保留选定的行 - Retain selected row after refresh in Angularjs 重新加载网页后如何在JavaScript中保留多个表单值? - How to retain multiple form values in JavaScript after reloading a web page? 页面刷新时如何保留javascript数组? - How to retain javascript array while page refresh?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM