2012-01-04 2 views
1

На странице Jsp у меня есть некоторые элементы select, которые были отключены после того, как было выбрано значение (отключено в javascript). Теперь, когда форма отправлена, я не могу получить доступ к этим выбранным значениям в классе действий.Не удается получить доступ к выбранному элементу отключенного выпадающего списка, в классе действий (struts 2)

Я точно знаю, что это вызвано отключением элементов select, поскольку, когда я пробовал то же самое, не отключая их, он работал нормально.

Теперь я не понимаю, почему это так. Я подумал, что, возможно, мне нужно включить их до того, как будет отправлена ​​форма, но это не кажется хорошей идеей.

Я столкнулся с этой проблемой при этом: Creating struts 2 forms dynamically on jsp using java script. (Вы можете найти код там. Хотя я не думаю, что вам понадобится код, потому что ясно, где проблема.)

Здесь я могу получить доступ к значениям текстовых полей, но я не могу доступ к значениям элементов выбора.

Я задал этот вопрос отдельно, потому что думал, что это другая тема.

Спасибо!

ответ

0

Вы можете установить их в скрытом поле с помощью Java Script и передать его в действие

+0

Да, что может быть сделано (лучше что я думал делать), но у меня будет массив элементов выбора, поэтому мне также придется создавать массив скрытых полей. Так что это сделает больше переменных. Если возможно, мне хотелось бы, чтобы это было лучше. Больше идей? – kanishk

+1

@kanishk Если вы хотите отключить элементы управления формой, и вы все равно должны отправить значения, это ваш вариант. Другой вариант заключается в том, чтобы не требовать их повторного отправки - вы получили значения один раз, подумайте о том, чтобы сохранить их в следующем запросе. –

+0

@ Dave Хорошо, тогда я думаю, мне нужно идти со скрытым полевым способом. Потому что я не пересылаю выбранный вариант. Форма отправляется только один раз, в javascript происходит отдых. Я имею в виду, что клонирование строки и отключение элемента select выполняется в javascript. – kanishk

2

инвалидов поля по спецификации W3 не будут размещены на стороне сервера, так что этот вопрос не имеет отношения к Struts2, но в родовом в HTML путь

Disabled controls

я не уверен, почему вы хотите использовать отключенный элемент управления для ваших form.things может быть сделано с помощью READONLY атрибута или использовать скрытые поля

+0

Но элементы выбора не имеют атрибута readOnly. Так что пришлось использовать отключенный. Хорошая ссылка, спасибо! – kanishk

+0

@kanishk: в этом случае следуйте за тем, что сказал Дейв –

+0

Да, теперь я собираюсь использовать скрытые поля. – kanishk