gpt4 book ai didi

JavaScript 作为加载 Rails 表单的条件?

转载 作者:太空宇宙 更新时间:2023-11-04 00:20:37 27 4
gpt4 key购买 nike

我有一个带有 Jquery 插件要求的表单,该插件要求创建一个具有 Facebook 自动完成类型样式的表单输入字段:

<%= javascript_include_tag "form_prettify_library" %>

<div class="box">
<ul id="first_form" class="tagit">
<li class="prettify-new"></li>
</ul>
<%= form_for @brand do |f| %>
<%= f.hidden_field :tag_list, :value => @brand.tags_from(current_user).join(", "),
:id => "mytaglist" %>
<%= f.submit "Add tags" %>
<%= f.error_messages %>
<% end %>
</div>

它运行良好,但是如果没有 JavaScript,表单将无法工作,因为上面的表单只有一个 hidden_​​field 而没有可见的输入字段(输入字段是由标签内的插件创建的),我需要它才能工作在移动设备上没有 JavaScript。如果加载了 JavaScript,有没有办法显示上面的代码,否则如果没有加载,将显示下面的代码?

<div class="box">
<%= form_for @brand do |f| %>
<%= f.label :tag_list, "Your tags" %>
<%= f.text_field :tag_list, :value => @brand.all_tags_list %>
<%= f.submit "Add tags" %>
<% end %>
</div>

最佳答案

可以的,默认用css隐藏,启用js的时候给站点加一个class

html

<body class="no_js">
<script type="text/javascript">
(function() {
var body = document.getElementsByTagName("body")[0];
body.className = body.className.replace(/\bno_js\b/, " js ")
}())
</script>

CSS

.no_js .jsForm,
.js .no_jsForm {
display:none;
}

.js .jsForm,
.no_js .no_jsForm {
display: block;
}

关于JavaScript 作为加载 Rails 表单的条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9428542/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com