Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/52.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Rails检测视图中是否启用了javascript_Javascript_Ruby On Rails - Fatal编程技术网

使用Rails检测视图中是否启用了javascript

使用Rails检测视图中是否启用了javascript,javascript,ruby-on-rails,Javascript,Ruby On Rails,我只想在启用javascript的情况下加载表单 我希望这样做: <% if javascript_enabled? %> ...form code... <% else %> Please enable javascript <% end %> …表格代码。。。 请启用javascript 这样做可能吗?您的方法的问题是,只有浏览器知道是否启用了Javascript,并且您尝试检查rails是否启用了Javascript(这是服务器解释的代码)。有

我只想在启用javascript的情况下加载表单

我希望这样做:

<% if javascript_enabled? %>
...form code...
<% else %>
  Please enable javascript
<% end %>

…表格代码。。。
请启用javascript

这样做可能吗?

您的方法的问题是,只有浏览器知道是否启用了Javascript,并且您尝试检查rails是否启用了Javascript(这是服务器解释的代码)。有几种变通方法可以解决此问题,但我通常在Rails应用程序中执行以下操作:

  • 包括
    请在页面内容顶部启用Javascript
  • display:none
    visibility:hidden
    属性样式设置为仅在启用Javascript时才显示的形式
  • 包含Javascript代码,在加载页面时将显示样式属性更改为“block”,或将可见性属性更改为“visible”
  • 这样,您的表单仅在启用Javascript时显示,请求启用Javascript的消息仅在未启用Javascript时显示

    最后,当然,您可以使用Rails代码使所有这些尽可能简单。

    可能的重复:也在这里: