2012-01-23 2 views
0

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

<%@taglib uri="/WEB-INF/struts-html.tld" prefix="prefix1" %> 
<prefix1:form action="formaction"> 
    <prefix1:select property="choose"> 
    <prefix1:option value="1">1</prefix1:option> 
    <prefix1:option value="2">2</prefix1:option> 
    <prefix1:option value="3">3</prefix1:option> 
    <prefix1:option value="4">4</prefix1:option> 
</prefix1:select> 

Теперь моя проблема есть, я хочу отправить форму на onchange() событие вместо кнопки отправки. т. е. когда когда-либо значение из выпадающего списка выбрано, форма должна быть отправлена. Как я могу это сделать ??

+0

Вам нужен простой javascript, чтобы сделать форму submit onchange. –

+1

[Не делайте этого] (http://www.cs.tut.fi/~jkorpela/forms/navmenu.html) – Quentin

+0

@SKS: могу ли я сделать это в расположении тоже ..? – user636207

ответ

2

Редактировать: Как уже упоминалось в комментарии Квентина, вы не должны отправлять свою форму в виде выпадающего списка. Read here

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

  1. Добавить имя в форму тега, <prefix1:form action="formaction" styleId="formAction">
  2. Добавить ниже функции внутри <script> тега в вашем JSP
  3. Добавить OnChange обработчик события выбора элемента, <prefix1:select property="choose" onchange="submitForm()">
function submitForm() { 
    document.getElementById("formAction").submit(); 
    } 
+0

Показывает ошибку, поскольку ... имя атрибута недействительно для формы тега в соответствии с TLD, и атрибут свойства также недоступен для этого. – user636207

+0

@ user636207: Моя ошибка. Просто сейчас посмотрела определение tld и, похоже, у меня есть использовать styleId, как упоминалось здесь http://struts.apache.org/1.x/struts-taglib/tlddoc/html/form.html –

0

Я получил свое решение .. Он выглядит так:

<prefix1:form action="sample"> 
<prefix1:select property="choose" onchange="this.form.submit()"> 
    <prefix1:option value="1">1</prefix1:option> 
    <prefix1:option value="2">2</prefix1:option> 
    <prefix1:option value="3">3</prefix1:option> 
    <prefix1:option value="4">4</prefix1:option> 
</prefix1:select> 
</prefix1:form> 
Смежные вопросы