2012-01-30 122 views
1

我正在开发Ruby on Rails应用程序应用程序,我在这里调用javascript函数onclick事件并且正在返回值。我想将该返回值分配给JavaScript变量predifined变量。 我的JavaScript函数看起来像:如何将javascript事件函数的返回值分配给javascript变量

function hideBrowser(var_i) 
{ 
k=var_i+1; 
$("#fileinput-button"+k).hide(); 
return var_i; 
} 

和我打电话的功能是这样的:

'<div class="cancel" id="cancel'+i+'" onclick=i=(hideBrowser('+i+'))><button >Cancel</button></div>' 

请帮我解决这个问题。

更新

我试图一个应用程序,其中第一个浏览按钮对于用户可见,当用户浏览图像,然后该图像应该到位的浏览按钮的显示屏,图像的预览我通过在ruby中使用ajax-jquery文件上传器来做到这一点,并且用户可以看到另一个浏览器。当用户取消图像时,下一个浏览按钮应该消失,预览应该再次计入先前的值。这就是为什么我尝试这种方法,并且每件事情都在工作,但我想将变量i的值设置为之前的值。这不工作,请帮助我。

以上所有代码都是用JavaScript文件编写的。

+0

您需要在哪里做这件事?这不是一个好的解决方案 – 2012-01-30 13:24:58

+0

当在Javascript中初始化变量时,应该使用var关键字,以免污染全局范围。例如,你的变量'k'只在'hideBrowser'函数内有用/必需,所以它不需要是全局的。你的HTML也可能不正确,你正在做... ...单引号,但我不完全确定为什么。此外,你最好使用jQuery来绑定你的事件处理程序,而不是使用'onclick'属性。 – 2012-01-30 13:28:07

回答

1

我没有完全从你的代码中得到。但看下面的代码它的工作。

希望它能帮助你。

<script> 
function hideBrowser(var_i) 
{ 

return var_i ; 
} 
</script> 

<div class="cancel" id="cancel'+i+'" onclick='var i=hideBrowser(10); alert(i);'><button >Cancel</button></div> 
0

处理程序只应该返回true或false。如果可能,返回错误会取消事件。事件发生异步,您不能将任何其他值返回给其他函数。你可以做什么,但是从你的事件处理程序中调用另一个函数并传入你想要的任何参数。

相关问题