servlet-Java新人求解答:用js实现关闭或刷新页面时如何保存更改信息?

问题描述

Java新人求解答:用js实现关闭或刷新页面时如何保存更改信息?

如题,我做了一个网站,如下代码,现在的问题是网站可以修改,但是一旦刷新或重新登录后又恢复原状了。
请问改写什么代码才能保存网页修改的信息?

 <%@ page import ="java.util.*" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://"
            + request.getServerName() + ":" + request.getServerPort()
            + path + "/";
%>  

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  

<html>
<head>
    <title>Welcome to the TV_Play Web!</title>  

<script type="text/javascript">
             // 新增
            function trdadd(){
            flag=false;
      document.getElementById("fid").style.display="block"; //控制显示
      chongzhi();
         document.getElementById("aid").disabled=false; //重新启用  

      }  

      //保存
      function baocun(){
            if(flag==false){  

      add(flag);
      document.getElementById("fid").style.display="none";
            }else{  

              add(flag);
              document.getElementById("fid").style.display="none";  

            }
      }  

      //重置
      function chongzhi(){
       document.getElementById("formid").reset();
      }  

      //删除
      function deleteRow(input){
          var s=input.parentNode.parentNode.rowIndex;
          document.getElementById("tableid").deleteRow(s);
          var num=document.getElementById("tableid").rows.length;
          for(var i=1;i<num;i+=1){
             table.rows[i].cells[0].innerHTML=i; //把每行的每一列设为i  

             }
             alert("Delete Successfully !!");  //删除成功
       }  

</script>  

</head>
<body>
Welcome to the TV_Play Web!<br>
<input type="button" value="new" onclick="trdadd()">
<center>
<table id="tableid" border="1" cellpadding="0" cellspacing="0" width="100%" >
<thead>
<tr>
           <td>id</td>
           <td>name</td>
           <td>language</td>
           <td>country_of_origin</td>
           <td>genre</td>
           <td align="center" width = "15%">operation</td>  <!-- 操作 -->
      </tr>
      </thead>
     </table>
      <br>
      <br>
      <br>  

      <div id="fid" style="display : none">
      <form id="formid">
     <table id=aaid>
     <tr>
      <td colspan="6">name : <input id="aid" type="text" size="20%"> </td>
      <td colspan="6">language : <input id="bid" type="text" size="20%"> </td>
     </tr>
     <tr>
      <td colspan="6">country_of_origin : <input id="cid" type="text" size="20%"></td>
      <td>genre :
       <select id="eid" name="my_name">
          <option value="1">Sitcom</option>
          <option value="2">Horror</option>
          <option value="3">Fantasy</option>
          <option value="4">Science Fantasy</option>
          <option value="5">Crime Drama</option>
          <option value="6">Period Drama</option>
          <option value="7">Family</option>
       </select>
     </td>
     </tr>  

     </table>  

        <input type="button" value="save" onclick="baocun()">
        <input type="reset" value="reset" onclick="chongzhi()"> <!-- 重置type类型必须为reset-->  <!-- 重置 -->
    </form>
       </div>  

    </center>
    <script type="text/javascript">
       //全局变量
       var table=document.getElementById("tableid");
       var flag=false;
       var getselectrow;
       function getNum(){
            var haoRow=table.rows[0];
            return haoRow.cells.length;
       }  

       //添加方法  

       function add(flag){
          if(!flag){
         // var num=getNum();
          var row=table.insertRow(-1); //为-1时往下加(升序),为0时往上加(id降序)
          var add1=row.insertCell(0);
          var add2=row.insertCell(1);
          var add3=row.insertCell(2);
          var add4=row.insertCell(3);
          var add5=row.insertCell(4);
          var add6=row.insertCell(5);  

         add1.innerHTML=document.getElementById("tableid").rows.length-1;//不加-1时id从二开始;原因:标题占一个
         add2.innerHTML=document.getElementById("aid").value;
         add3.innerHTML=document.getElementById("bid").value;
         add4.innerHTML=document.getElementById("cid").value;
         var tall=document.getElementById("eid");
         var   index=tall.selectedIndex;// 当前坐标
         var option=tall.options[index];
         add5.innerHTML=option.text;
         add6.innerHTML="<input type='button' value='revise' onclick='updateRow(this)'> <input type='button' value='delete' onclick='deleteRow(this)'>";
         //alert(num);
         alert("Add Successfully!!");   //添加成功

         }else{  

            var row2=table.rows[getselectrow];//选中当前行
                   //把修改后的值设置到对应的文本框中
            row2.cells[1].innerHTML=document.getElementById("aid").value;
            row2.cells[2].innerHTML=document.getElementById("bid").value;
            row2.cells[3].innerHTML=document.getElementById("cid").value;
            var pall=document.getElementById("eid");
            var index=pall.selectedIndex; //当前坐标
            var option=pall.options[index];
            row2.cells[4].innerHTML=option.text;  

            alert("Revise Successfully!!");   //修改成功
         }
    }  

          //修改
         function updateRow(input){
         flag=true
         document.getElementById("aid").disabled=true;   //不能启用
         document.getElementById("fid").style.display="block";  

         var i=input.parentNode.parentNode.rowIndex;  

            getselectrow=i;
               //得到选中行的内容放到文本框
         document.getElementById("aid").value=table.rows[i].cells[1].innerHTML;
         document.getElementById("bid").value=table.rows[i].cells[2].innerHTML;
         document.getElementById("cid").value=table.rows[i].cells[3].innerHTML;  

          var select=document.getElementById("eid");
            var index=select.selectedIndex;// 当前坐标
            var option= select.options[index];
            option.text=table.rows[i].cells[4].innerHTML;  

        }
    </script>
</body>
</html>  

解决方案

保存数据到数据库中,每次刷新重新获取数据

解决方案二:

你要保存到数据库去啊,然后从数据库读取已经添加的记录显示。

不和服务器交互就要使用cookie或者浏览器本地存储将你的数据存起来,下次从cookie和本地存储中读取后显示出来

JavaScript本地存储(DOM Storage,Local Storage)

解决方案三:

学了高等数学,没记在脑子里,结果现在全忘了。你只修改了页面,数据没存起来,下次肯定恢复原样了。ajax提交到数据库。

时间: 2024-10-07 16:43:38

servlet-Java新人求解答:用js实现关闭或刷新页面时如何保存更改信息?的相关文章

图片-Java新人求解答:自己制作一个网站,出现问题,求详细解答。

问题描述 Java新人求解答:自己制作一个网站,出现问题,求详细解答. 我自己制作了一个网站,该网页上设定了插入图片这一选项,可是当我插入一张名为 Peter_Jackson.jpg 的图片后,网页上没有显示, 而且myeclipse的console还报出了如下错误: java.io.FileNotFoundException: C:mysoftwareapache-tomcat-7.0.37webappsfriend2uploadpic_3E:David_LiupicturePeter_Jac

js检测离开或刷新页面时表单数据是否更改的方法_javascript技巧

本文实例讲述了js检测离开或刷新页面时表单数据是否更改的方法.分享给大家供大家参考,具体如下: function formIsDirty(form) { for (var i = 0; i < form.elements.length; i++) { var element = form.elements[i]; var type = element.type; if (type == "checkbox" || type == "radio") { if (

mysql-Java入门新人求解答:如何能保存修改后的网页?求代码

问题描述 Java入门新人求解答:如何能保存修改后的网页?求代码 <%@ page import ="java.util.*" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme() + ":

新人求解答—Jquery怎么得到从ashx文件传过来的Json字符串里面的二进制数据!!

问题描述 新人求解答-Jquery怎么得到从ashx文件传过来的Json字符串里面的二进制数据!! 解决方案 <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.2.min.js"></script> <script> $.ajax({ url: 'xxxxx.ashx', dataType: 'json', success: function (json) { console.

java新人求代码:用myeclipse制作一个带链接的网页,该网页可实现冒泡排序

问题描述 java新人求代码:用myeclipse制作一个带链接的网页,该网页可实现冒泡排序 用myeclipse10制作一个网页,该网页带有提交按钮,点击该按钮后可以实现冒泡排序.要全部代码,谢谢 解决方案 用不用eclipse就没关系了,这个用js就能实现,不需要服务器端,用记事本就能写.http://www.codesec.net/view/176782.html 解决方案二: 首先,建议了解下java web基础,知道怎么从前台页面,到后台的执行流程. 其次,设计页面元素,确定你的冒泡排

新人求解答方向问题

问题描述 刚入职,半个月没什么事干,给的任务很简单,没多久就做完了,全是业务逻辑,太闲了,也不知道怎么去学习,求解答啊 解决方案 解决方案二:找点自己感兴趣的书读读解决方案三:同样刚入职没事干,把学校里学的c语言,数据结构等书重新看了一遍

(JAVA)跪求解答 MINA 发送字节流!

问题描述 我用java写一个客户端与C的服务端进行通信.按照通信协议,我需要发送字节流.我想用MINA写一个客户端,可是不知如何发送字节流.其中一段代码如下,是连接之后执行的代码publicvoidsessionOpened(IoSessionsession)throwsException{bytehead=(byte)12;byteend=(byte)1;byte[]result={head,end};session.write(result);}问题出现了,session.write()中的

Java新手求解答

问题描述 背景:在跟着视频学习类的继承和函数重写:代码如下classPerson{privateStringname;privateintage;publicvoidsetName(Stringname){this.name=name;}publicvoidsetAge(intage){this.age=age;}publicStringgetName(){returnname;}publicintgetAge(){returnage;}publicStringgetInfo(){return"

java新人 求指点~~~

问题描述 大虾们好~~小子不才是某小公司入职半年的小小java程序员~有少量的web开发经验,现在感觉生活上有压力,欲在事业上寻求突破,望大虾们指点,一个合格的程序员应当怎样提高自己的技术水平?目前感觉很迷茫~不知道从何学起~~~~在此先行谢过诸位大虾的指点~~ 解决方案 解决方案二:听经理的话,跟自己走首先完成头给你的任务,除了这些,还要提高自己在任务之外的能力,比如对业务的熟悉.对现有解决方案的改进.更加巧妙的编程.人事处理之类的解决方案三:那技术方面呢我感觉自己不会自发的学习很郁闷啊解决方