在野营应用程序中调用Javascript出错

Error calling Javascript in Camping App

本文关键字:Javascript 出错 调用 野营 应用程序      更新时间:2023-09-26

我想学习webapps。我决定边做边学,并选择从简单的露营开始(I)。我懂一些红宝石。

我认为我对HTML和CSS方面的东西和使用MAB很满意。所以我决定加紧并添加一些无法工作的javascript。下面是我的视图中有问题的代码片段:

    div.image do
      link :rel => 'stylesheet', :href => 'styles.css'
      script :type =>"text/javascript", :src => 'display_date.js'
      # The hash argument always go at the end.
      button 'Display Date', :type => "button", :onclick => "displayDate" 
    end

javascript文件看起来像这样:

function displayDate()
{
 document.getElementById("demo").innerHTML=Date();
}

当我点击屏幕上的"显示日期"按钮时,Firefox webconsole报告

——[18:32:46.762]ReferenceError: displayDate is not defined

它也不能在IE上工作。野营文件和Javascript文件在同一个目录中。请建议。然而,我得到的结果比添加导致堆栈错误的Javascript内联要好,我可以不使用内联js,但知道如何编码也会很方便。

我也不熟悉露营和Ruby,所以这可能很可怕。它可以工作;)

给控制器模块一个路由,将display_date.js服务到客户端:

class MyJS < R '/display_date'.js'    
  JS = File.read('display_date.js')
  def get
    @headers['Content-Type'] = 'application/javascript; charset=utf-8'
    JS
  end
end

调用displayDate作为一个函数,父::onclick => displayDate()

要获得要调用的函数,必须输入onclick = "javascript:displayData()"