-1

これは、JavaScript関数を呼び出すコードです..

<td><input type="button" name="edit" value="Edit" onclick="editRecord(<%=rs.getString(1)%>);" ></td>

<td><input type="button" name="delete" value="Delete"  onclick="deleteRecord(<%=rs.getString(1)%>);" ></td>

javascripts 関数は「SSuers」がフォーム名です。

<script language="javascript">

function editRecord(id){

var f=document.SSusers;
f.method="POST";
f.action= 'edit.jsp?+id='+id;
f.submit();}



function deleteRecord(id){
var f=document.SSusers;
f.method="post";
f.action='./DeleteServlet?id='+id;
f.submit();}
</script>

修正するのを手伝ってください..

4

2 に答える 2

1

このようなことを行うときは、ブラウザーに到着したときにどのように見えるかを常に考慮する必要があります。あなたの文字列が"fred". の出力

<input ... onclick="editRecord(<%=rs.getString(1)%>);" >

...になります

<input ... onclick="editRecord(fred);" >

fredは引用符で囲まれていないため、JavaScript エンジンはそれを変数参照と見なすことに注意してください。

それを引用符で囲み、結果をHTML文字エンティティに適切にエスケープする必要があります(HTML属性内で使用しているためonclick)、などに"変換する&quot;と、結果は次のようになります。

<input ... onclick="editRecord('fred');" >

(一重引用符) または

<input ... onclick="editRecord(&quot;fred&quot;);" >

(二重引用符)。

そのための事前に提供された JVM 関数はありませんが、おそらく Apache Commons から何かを使用できます。

HTML エンコーディングは、HTML マークアップの属性で使用するためだけに必要であることに注意してください。onclick要素内で出力する場合は、script別の方法でエンコードする必要があります (おそらく、JSON は JavaScript リテラル構文のサブセットであるため、いくつかの Java ライブラリのいずれかを使用して JSON としてエンコードした結果を使用します)。

于 2012-11-02T07:05:24.433 に答える
0

を使用してjspとサーブレットを呼び出すことができます

location.href

jspとサーブレットを呼び出す方法のボタンリンクは次のとおりです。

<td><input type="button" name="edit" value="Edit" onclick="location.href='edit.jsp?id=<%=rs.getString(1)%>'; "></td>

<td><input type="button" name="delete" value="Delete" onclick="location.href='/Registrationform/DeleteServlet?id=<%=rs.getString(1)%>'; "></td>

関数呼び出しは必要ありません。正常に動作します。

于 2012-11-03T08:27:41.950 に答える