2

我想将带有idpat的文本字段传递给getautocomplete.actionStruts 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>
4

3 回答 3

1

您需要将 idpat及其值附加到传递给show函数的 url。例如

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;
}

注意 建议使用以下内容获取您的 url,而不是对扩展进行硬编码

<s:url id="url_variable" namespace="/namespace_of_action" action="action_name" />
var url = '<s:property value="url_variable" />?pat=' + $("#pat").val();
于 2013-08-06T07:44:40.633 回答
0

如果您尝试根据先前的框选择或任何服务器端进程填充框,则必须使用ajax

在您的操作类中,为名为“pat”的变量编写一个 getter-setter,如下所示:

私人字符串 pat;

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 有任何了解。

于 2013-08-06T07:42:49.413 回答
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>
于 2013-08-06T09:01:10.447 回答