2012-07-08 34 views
0
<s:form action="searchflight" method="post" id="flightform"> 
        <s:url id="remoteurl" action="fromautofill"/> 
        <sj:autocompleter id="listFrom" name="from" 
             label="From" parentTheme="xhtml" 
             href="%{remoteurl}" 
             delay="50" size="60" 
             loadMinimumCount="2" 
             onCompleteTopics="updateFrom" 
             onSelectTopics="updateFrom" 
             /> 
     <s:submit></s:form> 

如何在点击提交按钮的同时提交在autocompleter中选择的值以及表单提交。如何提交sj:autocompleter以及s:表格

我试过了,但总是从(autocompleter name)值中获得空白的动作。

+0

查看用萤火虫发送到服务器的内容。直接使用jquery会更加清楚,没有标签库遮蔽事物。 – Quaternion 2012-07-08 22:36:38

+0

它看起来很好。你是否有二传手?或在你的struts.xml中的独占?另一种情况可能是它的值是不正确的类型,验证是删除它。如果这些都不是,那么你的javascript函数“updateFrom”可能有问题。顺便说一句,你可以通过声明名为“term”的字符串来实现autocompleter中写入的内容。 – batbaatar 2012-07-09 04:46:32

+0

您是否在自动填充器中看到填充列表? – Prateek 2012-07-09 06:34:14

回答

0

现在,我已经想出了一个替代方案。

我增加了隐藏字段和填充在autocompleter的onSelectTopics作为陈述如下:

<s:form action="searchflight" method="post" id="flightform"> 
<s:hidden name="from"/>      
        <sj:autocompleter id="listFrom" 
             label="From" parentTheme="xhtml" 
             href="%{remoteurl}" 
             delay="50" size="60" 
             loadMinimumCount="2"          
             onSelectTopics="updateFrom" 
             /> 
<s:submit></s:form> 


<script type="text/javascript"> 
$.subscribe('updateFrom', function(event,data) { 
       document.flightform.from.value=event.originalEvent.ui.item.value; 
      }); 
</script> 
1
<sj:autocompleter id="listFrom" 
           name="from" 

           label="From" parentTheme="xhtml" 
            href="%{remoteurl}" 
            delay="50" size="60" 
            loadMinimumCount="2"          
            onSelectTopics="updateFrom" 
            /> 

注意,如果您使用的是autocompleter标签内的名字将是 直接映射到吸气剂在你的模型中。因此,请使用名称属性 而不是使用隐藏标记。

休息是好的。

+0

我尝试过使用它,但它不起作用。即使在firebug和chrome开发工具中,我也检查过该autocompleter实际呈现为输入的值,它仍然是空白的。 – 2012-07-09 18:09:05

+0

您是否使用过标题密钥和标题值属性以及列表属性? – Prateek 2012-07-10 05:16:50

+0

据我所知,使用list属性会变成本地列表,我需要一个ajax更新,如果我错了,请纠正我。 – 2012-07-12 06:29:26