2012-11-02 15 views
-1

調用JSP和Servlet與參數這裏是調用JavaScript函數的代碼..如何從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> 

的JavaScript的功能是「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> 

請幫我解決這個問題..

+0

什麼是錯誤你正面臨着在這裏? – DDK

回答

0

可撥打採用

location.href 

這裏有按鈕鏈接如何調用JSP,servlet的和你的JSP和servlet。

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

無需函數調用 它工作正常..

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的結果,使用任何一個Java庫進行編碼,因爲JSON是JavaScript文本語法的子集)。