Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在页面刷新后,无法使用javascript在动态形成的表的行中保留值_Javascript_Html_Database_Jsp_Servlets - Fatal编程技术网

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

在页面刷新后,无法使用javascript在动态形成的表的行中保留值,javascript,html,database,jsp,servlets,Javascript,Html,Database,Jsp,Servlets,我的jsp中有以下js代码。刷新页面后,我无法保留下面的文本框值。你知道如何保留这些价值观吗? 我在单击html按钮时调用这个js函数,以便它动态地将行添加到表中 <script> function addRow(tableID) { if(validateForm()==true){ document.getElementById('cruisedowntime2').style.display = "block";

我的jsp中有以下js代码。刷新页面后,我无法保留下面的文本框值。你知道如何保留这些价值观吗? 我在单击html按钮时调用这个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>

函数addRow(tableID){
如果(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=行插入单元格(0);
var element1=document.createElement(“输入”);
element1.type=“复选框”;
element1.name=“chkbox[]”;
element1.defaultChecked=“true”;
单元格1.附加子元素(元素1)*/
var cell0=行插入单元格(0);
var element0=document.createElement(“选择”);
element0.name=“cruiselinedropdown”;
var dropdownlist1=document.getElementById(“droplist1”);
var defaultselected=dropdownlist1.options[dropdownlist1.selectedIndex]。值;
//window.location.replace(“http://localhost:8085/Bridge_Downtime_Utility/Servlet?var=“+默认选择);
element0.options.add(新选项(defaultselected,defaultselected,true,true));
element0.options.add(新选项(“-”,”);
element0.options.add(新选项(“,”);
cell0.appendChild(element0);
var textbox3=document.getElementById('starttime');
var textbox7=document.getElementById('startdate');
var cell2=行插入单元格(1);
var element2=document.createElement(“输入”);
元素2.title=“日期:YYYY-MM-DD”;
element2.type=“text”;
element2.name=“starttimetextbox”;
element2.value=textbox7.value+“”+textbox3.value;
第2单元。附加子元素(元素2);
var textbox5=document.getElementById('endtime');
var textbox9=document.getElementById('enddate');
var cell3=行插入单元格(2);
var element3=document.createElement(“输入”);
element3.title=“日期:YYYY-MM-DD”;
element3.type=“text”;
element3.name=“endtimetextbox”;
element3.value=textbox9.value+“”+textbox5.value;
第三单元附属物(第三单元);
var textbox1=document.getElementById('descrip');
var cell4=行插入单元格(3);
var element4=document.createElement(“输入”);
element4.type=“text”;
element4.name=“descripptextbox”;
如果(textbox1.value=''){element4.value=“-”;}
其他的
element4.value=textbox1.value;
第四单元附属物(第四单元);
//cell4.contenteditable=true;
/*var addRowBox=document.createElement(“输入”);
setAttribute(“类型”、“按钮”);
setAttribute(“值”、“编辑”);
var cell5=行插入单元格(5);
单元格5.追加子项(addRowBox)*/
var deleteRowBox=document.createElement(“输入”);
setAttribute(“类型”、“按钮”);
setAttribute(“值”、“X”);
setAttribute(“onclick”,“SomeDeleteRowFunction(this)”);
var cell6=行插入单元格(4);
单元格6.appendChild(deleteRowBox);
}}

如果希望数据在页面刷新后保持不变,可以存储数据,然后从本地存储加载数据

要在页面刷新时保留数据,您需要将其保存在某个位置,以便将来(重新加载页面后)访问

  • 将其存储在后端的某个位置,然后在页面加载时访问REST服务
  • 将其存储在浏览器中的localStorage\sessionStorage中

没有其他方法可以在不实际保存数据的情况下保存数据:)

是的,但由于这是一个动态表,因此我认为本地存储将无法使用