【问题标题】:JSP: Onclick code is being performed when on page load event occursJSP:发生页面加载事件时正在执行 Onclick 代码
【发布时间】:2013-10-17 05:50:40
【问题描述】:

我编写了以下内容来显示数据库的不同行和列。在每一行前面,都有一个删除按钮。 删除按钮的 Onclick 应该调用一组函数/执行在 Onclick 事件中编写的代码(检查下面)..现在发生的是当 JSP 页面加载时,它进入方法内部。所以如果有3行, 它将调用该方法 3 次....帮助!它应该只调用删除按钮的“ON CLICK”这些方法......

      <tbody>    <% 
                int x;

                while(rs2.next()){
                    x=0;
                    %>
                    <tr><%
                    while(x<d)
                    {
                    x=x+1;
                 %>
            <td>  <%
                    out.print(rs2.getString(x));%></td>
            <% } %>
          <td> <input type="button" value="Delete" class="btn" id="DeleteBtn" onclick="<% System.out.print("Delete button"); tableupdateBean.setupdateRow(rs2.getString(x)); tableupdateBean.DeleteRow();%>" /> </td>
           </tr> 
            <% } %>
     </tbody>

【问题讨论】:

    标签: javascript jsp onclick onload


    【解决方案1】:

    看起来你在 javascript 和 jsp scriptlet 之间混合了一些东西。

    onclick 是一个 javascript 事件,当点击一个元素时发生,在本例中是一个按钮。
    onlick="" 应该引用一个 javascript 函数,但在您的代码示例中,您有一个 scriptlet。

    Scriptlet 在调用 JSP 时执行,因此在页面加载时执行。

    【讨论】:

    • 太好了。谢谢!我对此有点陌生。 !现在,如何在上面代码中的删除按钮的 onclick 事件中调用我的 java/jsp 脚本函数?你能帮忙吗?
    【解决方案2】:

    onclick 是客户端事件,您只能指定在此事件发生时将调用的任何 javascript 函数。您不能指定任何服务器端 jsp/java 函数。

    【讨论】:

    • 您好,谢谢!如果我需要通过单击按钮调用 jsp/java 函数,我应该怎么做?
    • 点击一个按钮,你需要调用一个javascript函数将Ajax请求发送到服务器,如果你使用jquery你可以看到api.jquery.com/jQuery.ajax
    【解决方案3】:

    您需要构造一个带有Unique Id 的删除url,以从服务器端识别删除行并重新加载整个页面。

    客户端

    <a href="/yoururl?mode=delete&id="+<Unique Id>>Delete Row</a>
    

    服务器端

    if("delete".equals(request.getParameter("mode"))
    {
    String id = request.getParameter("id");
    
    // write code for deletion
    }
    
    //redirect to the same page again
    

    如果你不想重新加载整个页面,那么你必须编写ajax调用在服务器端执行删除并使用javascript从表中删除行

    【讨论】:

      猜你喜欢
      • 2021-12-30
      • 1970-01-01
      • 2012-08-23
      • 2011-04-05
      • 2021-10-19
      • 2022-01-10
      • 1970-01-01
      • 2013-03-31
      • 1970-01-01
      相关资源
      最近更新 更多