2010-09-26 38 views
15

Trong mã của tôi cho một cửa hàng sách trực tuyến nhỏ tôi có một dòng sau lặp lại 5 lần với giá trị khác nhau cho 'tên' tham sốLàm cách nào để chuyển thông số qua nút gửi?

<input name="JSP-2" type="submit" value="Buy"> 

Ngày cách nhấn vào nút Mua, ứng dụng chuyển hướng đến một tập tin mà buy.jsp nó nhận giá trị của tên và hiển thị các chi tiết tương ứng của cuốn sách.

Trong buy.jsp của tôi, tôi đã bao gồm

<% String bname= request.getParameter("name"); 
out.print(bname); 
%> 

Nhưng tên doesnt được giao cho bname và nó cho thấy giá trị như null. Làm cách nào để chuyển một tham số từ đầu vào loại gửi? Xin vui lòng giúp đỡ.

Trả lời

16

Bạn phải chuyển tham số trong yêu cầu. Vì bạn đang có biểu mẫu và gửi biểu mẫu, bạn có thể có trường ẩn trong biểu mẫu được gọi là "submitType" và điền vào bất cứ khi nào bạn nhấp vào nút, sử dụng javascript. Sau đó, điều này sẽ có sẵn trong yêu cầu tiếp theo.

Một nơi nào đó bên trong các hình thức:
<input type="hidden" name="submitType">

trong các nút nộp:
<input name="JSP-2" type="submit" onclick="setType('Buy')">

Javascript: formName là tên của mẫu của bạn

<script> 
    function setType(type) 
    { 
     //formName is the name of your form, submitType is the name of the submit button. 
     document.forms["formName"].elements["submitType"].value = type; 

     //Alternately, you can access the button by its Id 
     document.getElementById("submitId").value = type; 
    } 
</script> 
+0

nó hoạt động khi tôi thay đổi nó một chút như document.forms [formName] .submitType.val ue = loại –

+0

@AlanDuan Có. Và đây là cách tốt hơn để truy cập các phần tử. Cập nhật câu trả lời của tôi để phản ánh điều đó. – Nivas

Các vấn đề liên quan