1

DB のさまざまな行と列を表示するために、次のように記述しました。すべての行の前に削除ボタンがあります。[削除] ボタンの Onclick は、一連の関数を呼び出し、Onclick イベント内に記述されたコードを実行する必要があります (以下を確認してください)。JSP ページが読み込まれているときに、メソッド内に移動します。したがって、3行ある場合、メソッドは3回呼び出されます....ヘルプ! これらのメソッドは、削除ボタンの「クリック時」にのみ呼び出す必要があります...

      <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>
4

3 に答える 3

2

javascript と jsp スクリプトレットを混在させているようです。

onclick は、要素 (この場合はボタン) がクリックされたときに発生する JavaScript イベントです。
onlick=""JavaScript 関数を参照する必要がありますが、コード サンプルにはスクリプトレットがあります。

スクリプトレットは、JSP が呼び出されたとき、つまりページが読み込まれたときに実行されます。

于 2013-10-17T06:02:57.750 に答える
0

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し、テーブルから行を削除する必要があります

于 2013-10-17T10:00:54.347 に答える
0

onclick はクライアント側のイベントであり、このイベントが発生したときに呼び出される JavaScript 関数のみを指定できます。サーバー側の jsp/java 関数は指定できません。

于 2013-10-17T06:01:01.017 に答える