2012-04-24 23 views
0

我已經查看了servlet裏面查看用戶的數據庫,查看用戶在每一行的表格我們有按鈕可以將這一行的單元格更改爲文本框, 任何一種方式::我遇到的問題當我得到的數據,並作出循環查看每行內的表我有打印更新按鈕,並將其附加到JavaScript函數 重要點傳遞此動態行的ID, 當運行代碼什麼也沒有發生,那有些問題!!!從servlet傳遞參數到函數javascript,查看數據庫時不起作用?

這是視圖servlet代碼

@SuppressWarnings("serial") 

公共類景觀延伸的HttpServlet {

public void doGet(HttpServletRequest req, HttpServletResponse resp) 
     throws IOException { 
    resp.setContentType("text/html"); 

    PrintWriter out = resp.getWriter(); 
    out.println("<html> <head>"); 
    out.println("<script type='text/javascript'>"); 


    out.println("function show_textBOX(i){"); 
    out.println("alert(\"update these users -- \"+i+ \" -- \")"); 
    out.println(" document.getElementById(i).innerHTML ='f';"); 
    out.println("}"); 

    out.println("</script>"); 
    out.println(" </head> <body>"); 


    PersistenceManager pm = PMF.get().getPersistenceManager(); 
    Query query = pm.newQuery("select from " + User.class.getName()); 

    List<User> list = (List<User>) query.execute(); 

    resp.getWriter().println("<form method='' action='' name='formMY'>"); 

    resp.getWriter() 
      .println(
        " <table border = '1'> <caption><h4>all users </h4></caption> "); 
    resp.getWriter() 
      .println(
        "</br> <h2> <tr> " 
          + "<td> " 
          + " USERname " 

          + "</td> <td> Salary " 
          + " </td> <td>BirthDate " 
          + " </td> <td> Modification1 </td> <td> Modification2 </td> </tr></h2>"); 
    int i = 1; 
    for (User obj : list) { 
     DateFormat formatter = new SimpleDateFormat("dd/MM/yyyy"); 

     String today = formatter.format(obj.getDate()); 

     resp.getWriter() 
       .println(
         "</br> <tr id='" 
           + i 
           + "'> <td>" 
           + obj.getName() 
           + " </td> <td> " 
           + obj.getSalary() 
           + "</td> " 
           + " <td> " 
           + today 
           + "</td>" 
           + " <td>" 
           + " <input type=button value='Update' onclick()='show_textBOX(" 
           + i + ")'>" + " </td> <td>" 
           + " <input type=button value='DELETE' >" 
           + " </td>" + " </tr>"); 
     i++; 
    } 

    resp.getWriter().println("</table> </form>"); 

    resp.getWriter().println("</body> </html> "); 

回答

0

你可以使用這個簡單的JavaScript函數

function submitform(obj,action){ 
    act = document.getElementById("act"); 
    act.value = action; 
    obj.submit(); 
    } 

和u將其稱之爲從

" <td><input type=button value='Update' onclick()='submitform(this.form,"+i+")'></td>" 

this.form 

調用相同的形式,然後它會通過操作參數傳遞給UR的servlet其中U將處理它從

req.getParameter("action") 

注:我沒有測試它怎麼把我沒有按JDEVELOPER不工作:(