在Dojo自动完成程序的值更改时调用java脚本函数

时间:2011-09-27 06:38:48

标签: javascript autocomplete dojo struts2

当Dojo自动完成符的值发生变化时,我试图调用javascript函数。

从“onChange”属性调用javascript函数无效(我的意思是该函数未被调用/执行)。

在我想要的javascript函数中:

  1. 调用struts2操作。

  2. 更改隐藏字段的值。

  3. 为了调用动作,我有另一种方式:
    使用属性“valueNotifyTopic =”topicName“”发布主题,然后我可以通过听主题来调用操作。

    但我不能通过这种方式改变隐藏字段的价值。所以我需要调用一个javascript函数

    请告知

    谢谢!

    编辑:

    这是jsp中的代码:

    <s:url id="scriptURL" action="viewContactInfo" />
    <sd:div href="%{scriptURL}" listenTopics="viewContactInfo" formId="contactInfo" showLoadingText="false" preload="false">
    <s:form id="contactInfo">
        <sd:autocompleter autoComplete="false" name="customer" list="customerList" valueNotifyTopics="viewContactInfo"/> 
        <sd:autocompleter autoComplete="false" name="contact"  list="contactList"  valueNotifyTopics="viewContactInfo"/>
        <s:hidden id="chngd" value="initial"/>
    </s:form>
    </sd:div>
    

    如果我将“valueNotifyTopics ='viewContactInfo'”更改为“onChange ='dojo.event.topic.publish('viewContactInfo');'”动作“viewContactInfo”将停止调用。而同样的事情(“onChange”)与其他元素一起工作(在我的项目的其他地方)。

1 个答案:

答案 0 :(得分:0)

我已经为这个问题启动了另一个线程。

我找到了解决方案并在此处发布了答案:

Cannot find a way to pass a hidden value to the action file

希望这会有所帮助!!