2010-05-26 35 views

Trả lời

3

Lấy biến ẩn bên trong biểu mẫu và sử dụng nó như thế này.

<form name="frm" method="post" action=""> 
<input type="hidden" name="hdnbt" /> 
<input type="button" name="bt" value="gi" onclick="{document.frm.hdnbt.value=this.value;document.frm.submit();}" /> 
</form> 

Bây giờ, trong các servlet,

String gi =request.getParameter("hdnbt"); 
System.out.print("button value" +gi); 
+0

Câu hỏi ngớ ngẩn, nhưng tôi có thể mở rộng câu hỏi này thành một số nút không? Tôi có 6 nút, mỗi nút có chức năng riêng và muốn thực hiện điều này nếu có thể. –

24

Thay sử dụng <input type="submit">.

<input type="submit" name="bt" value="gi"> 

của cặp tên/giá trị sẽ được gửi đến phía máy chủ cũng như:

String bt = request.getParameter("bt"); // gi 

Không cần JavaScript hacks/cách giải quyết ở đây. Nó cũng sẽ phá vỡ ứng dụng của bạn trong trường hợp khách hàng đã tắt JavaScript.

+1

Tôi xin lỗi nhưng điều này không hiệu quả. Dunno nếu nó không được hỗ trợ hoặc phần nào, nhưng đối với tôi 'String bt' luôn luôn là' null' –

+0

Nó sẽ là 'null' nếu nút này không được sử dụng để gửi biểu mẫu. Ví dụ. khi bạn vẫn tiếp tục sử dụng 'form.submit()' như OP đã làm. Chỉ cần thoát khỏi phần đó. – BalusC

-3

Bạn cần chuyển đổi thông số nút thành Chuỗi bằng cách sử dụng .toString(). Không có gì sai với mã của bạn.

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