免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2624 | 回复: 5
打印 上一主题 下一主题

[AJAX] 关于Ajax上的一个编写,需要高手们帮忙一下。急!!!! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-07-15 11:09 |只看该作者 |倒序浏览
问题:因初学AJAX,因此碰到了很多问题,都不是很清楚怎么解决,希望大家能帮忙下。

当分别选择了,Application Name,Page Name, Language,Page ID后按Submit,就会出现LCL那个列表,并显示数据库里有的数据。然后我把Translation的数据更改,如:big改为OK或其他。按save(在下面还有个SAVE的按钮)提交,跳转到另一个页面,出现下图

以下是code,请帮忙看看哪里出错了。我个人认为是这里v_sql=v_sql+ "All_Application_Maint.insert_app_field("+ pg_id+","+f_id+",'"+f_val+"',"+lan_id+"); ";有问题了,但不知道怎样改,表头重复输出这句话的结果。



<%
   
    String error = "";
    ResultSet rs1 = null;
    CallableStatement cstmt1 = null;
    Connection conn1 = null;
    String f_val = "";
    String f_id = "";

        String sv=request.getParameter("saveind");

        if(request.getMethod().equalsIgnoreCase("POST")){

    //if (sv=="Y") {

                String app_id=(request.getParameter("an_hidden")).toString();
                String lan_id=(request.getParameter("s1")).toString();
                String pg_id=(request.getParameter("pn_hidden")).toString();
                String v_sql="";
     
        String row_count = request.getParameter("row_count");
                int count = Integer.valueOf(row_count).intValue();  

        for (int i=0;i<count;i++)
                {
                        f_id = request.getParameter("fid_"+i);
                        f_val = request.getParameter("fn_"+i);
                        v_sql=v_sql+ "All_Application_Maint.insert_app_field("+ pg_id+","+f_id+",'"+f_val+"',"+lan_id+"); ";
                }

        try {

            InitialContext ic1 = new InitialContext();
            DataSource nativeDS1 =(DataSource) ic1.lookup("jdbc/DircCoreDS");
   
            conn1 = nativeDS1.getConnection();
            conn1.setAutoCommit (true);
            
            cstmt1 = conn1.prepareCall(" begin " +v_sql + " end;");

                out.println(v_sql);               
            cstmt1.execute();

                  conn1.close();
        }
               
        catch(Exception ex){
            
            System.out.println("Error!");
        }
//}
}
   
%>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
<title>gss</title>
<link href="/Portal/css/Portal.css" type="text/css" rel="stylesheet">
<style type="text/css">
#container {
        text-align: left;
        height: 110px;
        background-color: #ffffff;
        }
#container ul{list-style: none;padding: 0;margin: 0;}
#container li {float: left;        }

#bread a:active { color:#ffffff; text-decoration: none; }
#bread a:hover { color: #ffffff; text-decoration: none; }
#bread a:link { color: #ffffff; text-decoration: none; }
#bread a:visited { color: #ffffff; text-decoration: none; }

#bread ul {padding: 0;margin: 0;height:10px; padding-left:600px;}
#bread li {float: left;        }

#bread li
{float: left;
display: block;
text-decoration: none;
text-align: left;
font-size:12px;padding-right:5px;
text-indent:2px; margin: 0;
border-right:0.1em solid #ffffff;
height:20px;}

#iq1 {
        width: 400px;
        float: left;
        padding: 0px;
    vertical-align : top;
        }
        
#iq2 {
        width: 400px;
        float: left;
        padding: 0px;       
    vertical-align : top;
        }
    </style>
<script type="text/javascript" >
         var  an_url                ="/plsqlapp/All_Application_Maint.get_appl_name?Search_string=";
         var  an_header                ="Application Name";
         var  an_header_width        ="350";
         var  an_display        ="1";
         var  an_width                ="350";
         var  an_id                ="0";
         var  an_disp_sel        ="1";
         
         var  pn_url                ="/plsqlapp/All_Application_Maint.get_appl_page?app_id=";       
         var  pn_header                ="Page Name";
         var  pn_header_width        ="350";
         var  pn_display        ="2";
         var  pn_width                ="350";
         var  pn_id                ="1";
         var  pn_disp_sel        ="2";
         
         var  id_url                ="/plsqlapp/All_Application_Maint.get_appl_page?app_id=";               
         var  id_header                ="Page ID";
         var  id_header_width        ="350";
         var  id_display        ="1";
         var  id_width                ="350";
         var  id_id                ="0";
         var  id_disp_sel        ="1";
</script>

<script type="text/javascript" src="/Portal/js/Portal_ajax.js"></script>

<script>
function pn_showOptions(objt,ob2){
    var vurl="/plsqlapp/All_Application_Maint.get_appl_page?app_id=";
    var pg_nme;

    pg_nme=document.getElementById("an_hidden").value;
    pn_url = vurl+pg_nme+"&pg_nme=";
    ajax_showOptions(objt,ob2);
}

function id_showOptions(objt,ob2){
    var vurl="/plsqlapp/All_Application_Maint.get_appl_page?app_id=";
    var pg_id;

    pg_id=document.getElementById("an_hidden").value;
    id_url = vurl+pg_id+"&pg_nme=";
    ajax_showOptions(objt,ob2);
}

function createRequestObject() {
    var ro;
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
        ro = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
        ro = new XMLHttpRequest();
    }
    return ro;
}

var http = createRequestObject();

function sndReq() {

    http.open('post', vurl);
    http.onreadystatechange = handleResponse;
    http.send(null);
}

function handleResponse() {
    if(http.readyState == 4){
        if (http.responseText.length>12) {
       
                document.getElementById("norec").style.display = 'none';            
            document.getElementById("sailing").style.display = 'block';
            document.getElementById("title0").style.display = 'block';
                        document.getElementById("tblHeader1").style.display = 'block';                       
                        var data = eval('(' + http.responseText + ')');
                        add_rows(data);
                } else {
                        document.getElementById("results").style.display = 'none';
                        document.getElementById("norec").style.display = 'block';
                        document.getElementById("sailing").style.display = 'none';
                        document.getElementById("title0").style.display = 'none';
                        document.getElementById("tblHeader1").style.display = 'none';
                                 }
    }
}

function add_rows(records)
{
        div=document.getElementById("tbldata");
        var html="";

        for (var i=0;i<records.ROW.length;i++)
        {
                var newdiv=document.createElement("DIV");
                if ((i%2)==1) {

                html="<UL>";
                html=html+"<LI style=\"width:320px;\">"+records.ROW.F_N+"</LI>";
                html=html+" "+" "+" "+"<input name=\"fn_"+i+"\" type=\"text\" id=\"fn_"+i+"\" value=\""+records.ROW.LFN+"\" size=\"45\">";   
                html=html+"<input name=\"fid_"+i+"\" type=\"hidden\" id=\"fid_"+i+"\" value=\""+records.ROW.F_ID+"\">";  
                html=html+"</UL>";
                }
                else{
                html="<UL>";
                html=html+"<LI style=\"width:320px;background-color:#CCCCff;\">"+records.ROW.F_N+"</LI>";
                html=html+" "+" "+" "+"<input name=\"fn_"+i+"\" type=\"text\" id=\"fn_"+i+"\" value=\""+records.ROW.LFN+"\" size=\"45\">";
                html=html+"<input name=\"fid_"+i+"\" type=\"hidden\" id=\"fid_"+i+"\" value=\""+records.ROW.F_ID+"\">";  
                html=html+"</UL>";  
        }

        newdiv.innerHTML=html;
        div.appendChild(newdiv);                       
}
        document.getElementById("row_count").value=i;
}

function showproc() {
document.getElementById("proc").style.display = 'block';

}

function changBackground(){
    if(document.getElementById("searchTerm")){
                document.getElementById("searchTerm").style.background = 'lightblue';
        
    }
}

function restoreBackground(){
    if(document.getElementById("searchTerm")){
        document.getElementById("searchTerm").style.background = 'white';
    }
}
var div3;

function showresult() {

            div3=document.getElementById("tbldata");
    while(div3.childNodes.length > 0){
        if(div3.firstChild){
            div3.removeChild(div3.firstChild);
        }
    }
        var url = "/plsqlapp/All_Application_Maint.get_json?page_id=";

        document.getElementById("results").style.display = 'block';
        document.getElementById("sailing").style.display = 'none';
        //construct url
        p_id = document.theform.pn_hidden.value;
        url=url+p_id;
        l_id = document.theform.s1.options[document.getElementById("s1").selectedIndex].value ;
        url=url+"&p_language="+l_id;
        vurl=url;  

        sndReq();
}

</script>


<style>

#tblHeader {width:950px; blue; vertical-align:top; padding:0; margin: 0; }
#tbldata {width:660px; vertical-align: top;padding: 0; margin: 0px; }

#tblHeader ul{ padding: 0; margin: 0; }
#tbldata ul{ padding: 0; margin: 0; }

#tblHeader li {float: left;        }
#tbldata li {float: left; }


#tblHeader li
{float: left;
display: block;
border: 0.1em solid #ffffff;

color: #ffffff;
text-decoration: none;
text-align: center;
background-color:#0D2B88;
padding: 0; margin: 8px;

}

#tbldata li
{float: left;
display: block;
border: 0.1em solid #ffffff;
text-decoration: none;
text-align: left;
font-size:12px;padding: 0;
text-indent:2px; margin: 0px;
margin-left:8px}

#tbldata a:active { color:#000fff; text-decoration: none; }
#tbldata a:hover { color: #000fff; text-decoration: none; }
#tbldata a:link { color: #000fff; text-decoration: none; }
#tbldata a:visited { color: #000fff; text-decoration: none; }

body {
        margin-right: 0px;
}
</style>
</head>
<body>
<div id="container">
<ul>
<li style="vertical-align:center;width:600px;height:80px;"><img src="/Portal/assets/images/logo_dcl.gif" alt="Homepage" width="76" height="110" border="0"></li>
<li sytle="vertical-align:center;height:80px;"><img src="/Portal/assets/images/nav_text.gif" alt="Homepage" width="363" height="17" border="0"></li>
</ul>
</div>
<form name="theform" method="POST" action="Language.jsp">
<table>
    <tr>
    <td width="490">
    <div style="width:480px">
    <fieldset>        
          <div id="iq1">
             <table width="466" border="0">
             <tr>
             <td width="128" align="right">
             <b>Application Name : </b> </td>
             <td width="327">
             <input name="an" type="text" id="an" onKeyUp="ajax_showOptions(this,'getAppplicationNames')" value="" size="35">
                         <input type="hidden" id="an_id" name="an_id">
                         <input type="hidden" id="an_hidden" name="an_hidden">
                         <input type="hidden" id="an_disp" name="an_disp">
             </td>
             </tr>
             <tr>
             <td align="right">
             <b>Language : </b>
             </td>
             <td>
                        <%
                        //Creating Database Instanse
                        Connection conn =null;
                        InitialContext ic = new InitialContext();
                        DataSource nativeDS =(DataSource) ic.lookup("jdbc/DircCoreDS");
                        conn = nativeDS.getConnection();
                        conn.setAutoCommit (false);

                        //Creating the Connection Statement
                        Statement stmt = conn.createStatement();

                        //Creating SQL statement
                        ResultSet rs = stmt.executeQuery("select language_id,LANGUAGE_NAME from ALL_LANGUAGE where LANGUAGE_NAME <> 'English'");
                        %>
                        <select name="s1">
                        <% while(rs.next()) {%>
                        <option value="<%=rs.getString("LANGUAGE_ID")%>">
                                                <%=rs.getString("LANGUAGE_NAME")%>
                        </option>
            <%}%>
            </select>        
                        </td>
            </tr>
                        </td>
            </tr>
                        </table>
         </div>
    </fieldset>
    </div>
    </td>
    <td width="490" height="70">
    <div style="width:480px">
      <fieldset>        
              <div id="iq2">
              <table width="426" border="0">
              <tr>
              <td width="89" align="right">
              <b>Page Name : </b>              </td>
              <td width="327">
                          <input name="pn" type="text" id="pn" onKeyUp="pn_showOptions(this,'getPageNames')" value="" size="35">
                          <input type="hidden" id="pn_id" name="pn_id">
                      <input type="hidden" id="pn_disp" name="pn_disp">
              </td>
              </tr>
              <tr>
              <td align="right">
              <b>Page ID : </b>
              </td>
              <td>
                          <input name="pn_hidden" type="text" id="pn_hidden">
              </td>
              </tr>
              </table>
          </div>
    </fieldset>
  </div>
  </td>
  </tr>
  
  <%
    String p_an = request.getParameter("an_id");
    String p_pn = request.getParameter("pn_id");
  %>

  <tr>
    <td height="23" colspan="2" align="center">
    <div style="width:950">
    <input type="button" value="Submit" onclick="showresult()">
    </div>
    </td>
  </tr>
  </table>

<div id="norec" style="width:960px;">
<fieldset>
<div style="font-weight:bold; text-align:center; width:960px;">
There is no data to display between those two destinations.
</div>
</fieldset>
</div>

<div id="sailing" style="width:900x;">
<fieldset>
<legend>LCL Sailings</legend>
<div id="title0"></div>
<div id="tblHeader1"></div>
<div id="results" style="width:900px; display:none;height:450px;padding: 0; margin: 0;">
<div id="tblHeader">
    <ul>
      <li style="width:320px">Field Name</li>
      <li style="width:305px">Translation</li>
    </ul>
</div>

<div id="tbldata"></div>
</div>


<div align="center">
  <DIV align="center">
    <CENTER>
      <TABLE width="980" border="1" align="center" cellPadding="0" cellSpacing="0" borderColor="#000082">
        <TBODY>
          <TR>
            <TD align="left" width="980"></TD>
          </TR>
        </TBODY>
      </TABLE>
    </CENTER>
          
  </DIV>
  <input type="Submit" name="save" value="Save">
  
  <input type="reset" name="Cancel" value="Cancel" onClick="">
  
  <input type="Submit" name="Edit" value="Edit" onClick="">
  </div>
  <input type="hidden" name="row_count" value="">
  <input type="hidden" name="saveind" value="Y">
</fieldset>
</div>
</form>


<script language="javascript" type="text/javascript">
var onetime = 'true';
if(onetime == 'true'){
    document.getElementById("norec").style.display = 'none';
        document.getElementById("sailing").style.display = 'none';
    onetime = 'false';
}
</script>


[ 本帖最后由 HonestQiao 于 2006-7-15 11:16 编辑 ]

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
2 [报告]
发表于 2006-07-15 11:17 |只看该作者
不知道你的页面怎么出现这个啊。

你可以看到是什么时候输出了这个的啊。

论坛徽章:
0
3 [报告]
发表于 2006-07-15 11:36 |只看该作者
页面下面分别还有save、cancel、edit三个按钮。就是当我按save的时候,数据会被保存到数据库里。页面重新跳转回到这个页面。当进入这个页面时,Translation那边是把数据库里的数据显示出来的。save按钮的作用是起一个insert的作用。

[ 本帖最后由 shawnyan 于 2006-7-15 11:38 编辑 ]

论坛徽章:
0
4 [报告]
发表于 2006-07-15 12:30 |只看该作者
try {

            InitialContext ic1 = new InitialContext();
            DataSource nativeDS1 =(DataSource) ic1.lookup("jdbc/DircCoreDS");
   
            conn1 = nativeDS1.getConnection();
            conn1.setAutoCommit (true);
            
            cstmt1 = conn1.prepareCall(" begin " +v_sql + " end;");

                out.println(v_sql);                //这里不就是打印的语句吗?
            cstmt1.execute();

                  conn1.close();
        }
               
        catch(Exception ex){
            
            System.out.println("Error!");

论坛徽章:
0
5 [报告]
发表于 2006-07-15 13:50 |只看该作者
不好意思,这几天都做晕了,这都没看到,我试试,谢谢楼上C063,还有我想问问,如果我把下面改成以下的
String sv=request.getParameter("saveind");

        //if(request.getMethod().equalsIgnoreCase("POST")){   //不用这个方法

   if (sv=="Y") {out.println("coming here")
                        ........}
怎样才可以调用下面的这个method="post"呢?
<form name="theform" method="POST" action="Language.jsp">
if那该怎么写?if(sv=="Y"){out.println("request.getMethod()")}可以这样调用吗?

论坛徽章:
0
6 [报告]
发表于 2006-07-16 09:38 |只看该作者
不太明白你的逻辑。

POST好像是这样调用的

  1. request.open("POST", url, true);
  2. ...
  3. request.send("a=" + a + "b=" + b);
  4. ...
复制代码

(来自《深入浅出Ajax》)
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP