2013-08-06 2 views
2

Я хочу передать текстовое поле с id значением pat в getautocomplete.action в Struts 2. Здесь я использую TINY.box всплывал на следующей странице.Передача значения идентификатор класса действий

<s:textfield name="pat" id="pat"/> 

<script type="text/javascript"> 
    T$('tiny_patient').onkeypress = function(){ 
    TINY.box.show('getautocomplete.action',1,0,0,1) 
    } 
</script> 

ответ

0

Если вы пытаетесь заполнить форму на основе предыдущего выбора коробки или любой процесс на стороне сервера, вы должны использовать Аякс.

В классе действий, написать геттер-сеттер для переменной с именем «погладить», как это:

частная строка погладить;

public getPat() 
{ 
......... 
} 

public setPat(String pat) 
{ 
this.pat=pat; 
} 

и изменить

TINY.box.show('getautocomplete.action',1,0,0,1) 

в

TINY.box.show('getautocomplete.action?pat="xyz"',1,0,0,1) 

Надеется, что это решит вашу проблему, если вы не имеете представления о Ajax.

1

Вам необходимо добавить идентификатор pat и его значение к URL-адресу, который вы передадите функции show. Например

var url = 'getautocomplete.action?pat=' + $("#pat").val(); 

Вы можете использовать переменную url в вашей show функции.

Вам также необходимо добавить следующее в свой класс действий. Это также зависит от типа java. Я использую String,

private String pat; 

public String getPat() 
{ 
    return pat; 
} 

public void setPat(final String value) 
{ 
    this.pat = value; 
} 

Примечание Это рекомендуется, чтобы получить ваш URL, используя следующие вместо жесткого кодирования расширение

<s:url id="url_variable" namespace="/namespace_of_action" action="action_name" /> 
var url = '<s:property value="url_variable" />?pat=' + $("#pat").val(); 
0

Попробуйте

<s:textfield name="pat" id="pat"/> 
<script type="text/javascript"> 
    document.getElementById("tiny_patient").onkeypress = function(e){ 
    TINY.box.show("<s:url action='getautocomplete'/>"+"?pat="+document.getElementById("pat").value,1,0,0,1) 
    } 
</script> 
+0

Использование простой javascript, например 'document.getElementById', обычно не рекомендуется. Вместо этого используйте библиотеки javascript, такие как 'jQuery'. –

+0

@ UchennaNwanyanwu да, но OP не использовал JQuery в вопросе. И ваш ответ, даже если вы используете JQuery, не обрабатывает событие 'keypress'. –

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