2011-06-24 126 views
0

有人可以解释为什么这不适合我吗?我只是试图在已经定义的页面上运行一个javascript函数。这是一个基本的警报命令。电梯 - JE.Call()问题

//On html page 

<script type="text/javascript"> 
    function test(){ 
     alert('hi'); 
    } 
</script> 

//on lifty page 
JE.Call("test") 

为了这个问题,我已经剥去了很多html/lift/scala代码。出于某种原因,这不会在HTML页面中调用js函数,或者在调用ajaxButton函数时调用该函数。我只是试图与HTML页面上的JavaScript进行交互。我一定错过了一个关键的细节?

谢谢!

回答

1

首先,你如何返回Call?你有没有在页面上的AJAX或Comet片段将返回?

其次,你确定你的test函数在全球范围内,这样Call可以称之为?

相关的,你的浏览器的JavaScript控制台说什么?有没有Javascript错误?这可能表明测试未在正确的范围内定义。你看到任何网络活动?如果没有,那么返回Call的服务器端部分不会被激活。

PS我是最后一个触摸Call的ScalaDocs的人,如果您认为他们不够,可以再次更新它们。

+0

啊我发现问题,我正在运行命令,上面的JsCmds.SetHtml命令,但我没有链接它。 Doh:P –

+0

还有一个问题....说我想将一些SetHtml命令链接在一起......并且我想要显示一条消息,如“更新”,然后执行我的过程,然后将该消息更改为“已完成”。我链,它似乎去了,但不会做级联更新......这是在设计的电梯吗?有没有一种方法可以在执行时强制执行命令的“同步”操作?像这样... JE.Call(“setMessage”,“updating ...”)&JsCmds.SetHtml(“myDiv”,serverCallFunction)&JE.Call(“setMessage”,“completed task!”) –

+0

代码如果我没有记错,如果你使用jQuery,'setMessage(“updating ...”);尝试{jQuery(“#myDiv”)。each(function(i){this.innerHTML = [serverCallFunction的结果];});} catch(e){}; setMessage(“完成的任务!”);' – pr1001