我想将id
值pat
的文本字段传递给Struts 2中的getautocomplete.action
。我在这里使用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 :(得分:1)
您需要将ID pat
及其值附加到传递给show
函数的网址。例如
var url = 'getautocomplete.action?pat=' + $("#pat").val();
然后,您可以在url
函数中使用变量show
。
您还需要在操作类中添加以下内容。这也取决于pat的java类型。我正在使用String
,
private String pat;
public String getPat()
{
return pat;
}
public void setPat(final String value)
{
this.pat = value;
}
注意强> 建议使用以下内容获取您的网址,而不是对扩展程序进行硬编码
<s:url id="url_variable" namespace="/namespace_of_action" action="action_name" />
var url = '<s:property value="url_variable" />?pat=' + $("#pat").val();
答案 1 :(得分:0)
如果您尝试根据之前的框选择或任何服务器端流程填充此框,则必须使用 ajax 。
在你的动作类中,为这个名为“pat”的变量写一个getter-setter,如下所示:
私人字符串拍摄;
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有所了解。
答案 2 :(得分: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>