【问题标题】:Where to put custom JavaScript/Prototype code for an ActiveScaffold form?将 ActiveScaffold 表单的自定义 JavaScript/原型代码放在哪里?
【发布时间】:2009-12-05 18:10:26
【问题描述】:

我在 ActiveScaffold 表单上有一个选择下拉菜单。如果选择了特定值,我会尝试隐藏表单上的某些字段。

一个 [类似问题][1] 已发布到 ActiveScaffold Google 组,提供的原型代码看起来可以满足我的需要,但是我不知道我需要在哪里添加它。

--

我尝试从 Vendor/plugins/ 获取 -horizo​​ntal-subform-header.html.erb 的副本 active_scaffold/frontends/default/views,将其放在我的控制器的views文件夹中,然后将我的脚本添加到其中:

<script type="text/javascript">
  document.observe('dom:loaded', function() {  //do it once everything's loaded
    //grab all the product-input classes and call 'observe' on them :
    $$('.product-input').invoke('observe', 'change', function(e) {
      this.up('td').next('td').down('input').hide();
    });
  });
</script>

...但这似乎无法正常工作。如果我使用 URL 直接进入表单(即http://localhost:3000/sales/20/edit?_method=get),它会起作用。但是当我用主列表视图(即http://localhost:3000/sales/)测试它并通过Ajax打开表单时,它就不起作用了。查看 HTML 源代码,只是没有出现。

【问题讨论】:

    标签: javascript ruby-on-rails prototypejs activescaffold


    【解决方案1】:

    添加 JavaScript 的常见位置是 public/javascripts 中的 application.js。我自己是一个 jQuery 人,但是我相信您可以使用原型连接到 application.js 中的 onchange 事件。快速搜索看起来像 Event.observe 应该可以解决问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-11-25
      • 2014-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多