2012-11-24 29 views
0

我是新的開發和JSP中,我有一個學校項目。我有一個主要問題阻止我繼續編碼。點擊即使在jsp

我的問題: 我想在用戶點擊一個按鈕時執行一個放置到一個變量。 但實際上,變量值是列表中的最後一個值。換句話說,onClick函數不起作用。

這是代碼:

<input type = "submit" id = "buy" name = "buy" value="Buy this <% out.println(rs1.getString("items.item_maker"));%> Now!" onclick = <% car = rs1.getString("items.item_maker").toString(); %> > 

任何想法?

+0

那麼,JSP代表'Java * Server * Pages',這意味着它在服務器上而不是在客戶端上執行。所以你不能在點擊事件上調用Java方法。 – 11684

+0

所以我可以做一些在服務器端的操作,當用戶點擊按鈕? –

+0

不,我的整個觀點是,這是不可能的... – 11684

回答

0

這是不可能的,因爲JSP是服務器端的。這意味着它在頁面到達客戶端之前執行。您的代碼:

<input type = "submit" id = "buy" name = "buy" value="Buy this <% out.println(rs1.getString("items.item_maker"));%> Now!" onclick = <% car = rs1.getString("items.item_maker").toString(); %> > 

會導致這樣的:

<input type = "submit" id = "buy" name = "buy" value="Buy this [string returned by rs1.getString("items.item_maker")] Now!" onclick = [result of rs1.getString("items.item_maker").toString();]> 

但是,因爲變量賦值語句不返回任何東西,這將成爲

<input type = "submit" id = "buy" name = "buy" value="Buy this [string returned by rs1.getString("items.item_maker")] Now!" onclick = > 

你看,一個空的onclick屬性。 編輯:我其實是錯的。賦值評估爲正在分配的對象。這就是爲什麼像while ((line = br.readLine()) != null)的工作。

此外,onclick屬性只接受將在點擊時執行的javaSCRIPT(您不說)。所以留空意味着do nothing on click

P.S.您錯過了一個關閉</input>標籤,或忘記在onclick屬性後面添加/以使其成爲自閉標籤。