2009-07-31 152 views
0

我正在一個非常簡單和小型的web應用程序中工作,它是一個處理購物車的jsp。如何從JSP中的文本字段獲取自定義值?

我在這裏做的是迭代所有存儲在汽車中的產品,並在每次迭代中將它們逐個添加到jsp。

這是添加一行到JSP在每次迭代代碼:

  <tr>   
      <td> 
       <input type=text name=Quantity value=<%=quantity%>> 
      </td> 
      <td> 
       <input type=text name=id value=<%=id%>>     
      </td> 
      <td> 
       <input type=submit value="Delete" onclick=<%CustomSubmit(request, id); %>> 
      </td> 
     </tr> 

正如你可以看到我添加到每個行的末尾有一個自定義的方法提交類型的控制處理Click事件,這種控制的使用是從汽車中取出相應的產品。

我有的問題是,當我點擊產品的刪除按鈕時,傳遞給CustomSubmit(...)方法的ID不是我試圖刪除的產品的ID但添加到jsp的最後一個產品的ID。

所以,我的問題是如何從我試圖刪除的項目中獲得正確的ID?

+0

你是如何遍歷購物車中的每件物品的? – 2009-07-31 07:44:35

+0

我將它們放入位於會話範圍內的Java Bean中包含的ArrayList()中。 – Vic 2009-07-31 07:53:12

回答

1

我用它來做到這一點是如下的方式:

更換

<input type=submit with a button 
<input type="button" value="Delete" onclick="deleteIt('yourid');" /> 

添加JavaScript函數,該函數你填寫一個隱藏的輸入域ID的deleteIt。 然後提交頁面,正確的ID被傳遞到您的網頁

小阿里納斯它總是謹慎地逃避所有字符串

dont use <input type=submit but use <input type="submit" 

也許像

<td> 
<input type="text" name="id" value="<%=id%>"> 
    </td> 
<td> 
<input type="button" value="Delete" onclick="deleteItem('<%=id%>')"> 
</td> 
+0

感謝您的支持,我會做到這一點,現在關於您的建議,我瞭解JavaScript的功能部分,但您如何獲得'yourid'變量,因爲我{m動態添加行,而我不知道這是用戶想要刪除的產品的id,id包含在該行的一列中,但我不知道如何得到它...... – Vic 2009-07-31 07:57:04

1

我假設你的車是一個對象列表,每個對象都有屬性ID和數量。所以,我希望你的代碼看起來像這樣(請注意有關使用「按鈕」彼得回答):

<input type="button" value="Delete" onclick="CustomSubmit('<%=cartItem.id%>');"/> 

我不是很確定你正在嘗試與在「請求」參數做你的原始代碼,但如果這是HTTP請求,那麼當您嘗試將它寫入JSP時,您將得到的所有結果都是request.toString方法的結果。

相關問題