2012-06-29 3 views
0

Я знаю, как определить, какая кнопка отправки нажата, когда я знаю значения name каждой из кнопок. Но что, если name s являются динамическими или определяются другим компонентом?Как определить, какая кнопка отправки нажата, когда имена неизвестны?

Например, здесь я могу просто проверить POST данные из этого <form> либо для alpha или bravo:

<form> 
    <input type="submit" name="alpha" value="Alpha"> 
    <input type="submit" name="bravo" value="Bravo"> 
</form> 

Но это только потому, что я знаю, что я должен искать эти имена.

Есть ли наилучшая практика для такого типа ситуаций? (Возможно, путем рендеринга элемента <input type="hidden" name="submit-button-names" value="dynamic_name1|dynamic_name2|etc">.) Я хотел бы получить решение, для которого не требуется JavaScript.

+0

Каждый элемент должен иметь идентификатор, связанный с ним. – JonH

+0

Правильно, но вы не можете получить значение «id» из данных POST, не так ли? (Я еще не закодировал в JSP до этого.) Кроме того, я до сих пор не знаю, какие значения id будут искать, если они динамические. – craigpatik

ответ

0

Предполагая, что у вас есть контроль над JSP, отображающим эти кнопки, просто префикс имен кнопок с строкой, которую вы можете найти в данных POSTED. Например Предварение «dynamicbutton_», чтобы все имена, как этот

<form> 
    <input type="submit" name="dynamicbutton_alpha" value="Alpha"> 
    <input type="submit" name="dynamicbutton_bravo" value="Bravo"> 
</form> 

Затем в Servlet, искать значения с этим префиксом по телефону ServletRequest.getAttributeNames()

0

Вы можете написать пользовательский тег, чтобы установить различные входы ваша форма основана на списке параметров, которые вы даете тегу. Вы бы в конечном итоге с HTML ищет что-то вроде этого:

<form method="POST" action="SelectColour.do"> 
    <p>Select your favorite colour: </p> 
    <formTags:select name='colour' size='1' optionsList='${applicationScope.colourList}'/> 
    <input type="SUBMIT" value="Click here to submit"> 
</form> 

Here's порядочный руководство по созданию пользовательских тегов.

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