2015-02-12 2 views
2

Внутри моего html у меня есть форма, которая отправляется обратно на мой сервлет. Я хотел бы получить значение моего типа ввода = «изображение», но вместо этого получаю нулевое значение.Получение типа ввода = «изображение» из запроса.getParameter()

Моя форма:

<form action="HomeController" method="post"> 
    <button type="submit" name="s4" value="someValue"> 
    <img src="s4.jpg" alt="phonestuff"> 
    </button> 
    <input type="hidden" name="s4price" value="800"> 
</form> 

мой Servlet пост:

double s4price = Double.parseDouble(request.getParameter("s4price")); 
String s4 = request.getParameter("s4"); 
System.out.println(s4price); 
System.out.println(s4); 

Мой выход:

800.0 
null 

Ожидаемый результат:

800.0 
Note4 

ответ

1

Вы отправляете кнопку не будет отправлять какое-либо значение изображения. Поскольку типа = «изображение»Определяет изображение как кнопку отправки

попробовать это: -

<form action="HomeController" method="post"> 
<button type="submit" name="s4" value="Note4"> 
    <img src="s4.jpg" alt="phonestuff"> 
</button> 
<input type="hidden" name="s4price" value="800"> 
</form> 

ИЛИ: для того, чтобы отправить значение в s4 вы можете отправить его как скрытый поле с кнопкой отправки изображения.

<form action="HomeController" method="post"> 
    <input type="image" src="s4.jpg" alt="Submit" > 
    <input type="hidden" name="s4" value="Note4"> 
    <input type="hidden" name="s4price" value="800"> 
</form> 

сервлет пост: -

double s4price = Double.parseDouble(request.getParameter("s4price")); 
String s4 = request.getParameter("s4"); 
System.out.println(s4price); 
System.out.println(s4); 

выход:

800.0 
Note4 
+0

Спасибо большое, что работа. – user2827213

+0

Если это действительно работает, вы бы, пожалуйста, не возражаете принять ответ? добро пожаловать :) –

1

Тип ввода = «изображение» не передает значение при отправке формы. Вам нужно передать их в скрытом значении.

Смежные вопросы