javascript和webui的交互

来源:互联网 发布:崩坏学园2淘宝冲钻 编辑:程序博客网 时间:2024/06/01 08:31

I tried it but button.click() triggers onClientClick and not a server event. Try the below solution,

 

1. Assign a bsp:htmlbEvent.

<bsp:htmlbEvent name = "fireMyEvent"

                id   = "fireMyEvent"

                p1   = "p1"

                p2   = "p2" />

 

2. Assign a javascript function to button onClientClick event and trigger it through javascript.

 

<thtmlb:button id            = "mybutton"

                   text          = "Submit"

                   onClientClick = "upload_file( );" />

 

<scrpt language="javascrpt">

   var button = document.getElementById("<%= controller->component_id %>_mybutton");

   button.focus();

   button.click();

</scrpt>

 

3. Inside the function you can trigger server event using fireMyEvent(...)

<scrpt language="javascrpt">

function upload_file( )

{

....

....

return fireMyEvent('Submit');

}

</scrpt>

 

4. In event handler method EH_ONSERVEREVENT, proceed by checking htmlbEvent parameters,

lr_event ?= htmlb_event_ex.

IF lr_event->p1 EQ 'Submit'.

...

Endif.

 



http://scn.sap.com/message/9575994#9575994


http://wiki.scn.sap.com/wiki/display/CRM/CRM+WebClient+UI+-+Talking+with+Java+Script

http://www.cnblogs.com/sunrack/archive/2010/01/15/1648787.html



<%@extension name="htmlb" prefix="htmlb" %>
<bsp:htmlbEvent name = "fireMyEvent"
                id   = "fireMyEvent"
                p1   = "p1"
                p2   = "p2" />

<SCRIPT LANGUAGE="JavaScript">
function hotkey()
{
var a=window.event.keyCode;
if((a==65)&&(event.ctrlKey))
{
alert("你按了ctrl+a键吧");
return fireMyEvent('Submit');
}
}
document.onkeydown = hotkey;
</SCRIPT>

0 0
原创粉丝点击