【问题标题】:Hide form until button is clicked - Ruby on Rails隐藏表单直到单击按钮 - Ruby on Rails
【发布时间】:2011-09-14 03:46:22
【问题描述】:

我的应用主页上有一个内容提交表单。

我希望在用户单击“提交想法”之前将其隐藏,此时表单应显示在提交按钮下方。

我基于 Reddit 上用于回复/cmets 的模型,但我不太明白。

我想这涉及到 jQuery,但我对 jQuery 很糟糕,这就是为什么我需要你的帮助。

提前非常感谢。

【问题讨论】:

  • 如果/当您遇到困难时,请尝试实施某些事情并提出具体问题。否则我下面的答案是我能提供的最好的答案。

标签: jquery ruby ruby-on-rails-3


【解决方案1】:

你可以用 jQuery 做到这一点。

 $(document).ready(function() {

 $('#form_id').hide(); //Initially form wil be hidden.

  $('#button_id').click(function() {
   $('#form_id').show();//Form shows on button click

   });
 });

【讨论】:

  • 由于语法错误,这实际上不起作用:您在第一个 function 旁边缺少一个 ()
  • @meagar :感谢您的指点。其实这是一个错字。现在改了。
【解决方案2】:

页面加载时隐藏表单:

$('#my-form').hide();

并在点击按钮时显示:

$('#my-button').click(function() { $('#my-form').show() });

【讨论】:

  • +1,但为什么不让它style="display: none",而不是通过.hide()隐藏?
  • 因为客户端可能没有启用 JavaScript,所以表单无法出现。如果表单也被 JS 隐藏了,那么禁用 JS 就没有效果——表单永远不会消失。
  • 嗯..好点。我通常拒绝处理“未启用Javascript”的情况。我只是不关心有这种问题的用户。
  • 好吧,那么考虑一下:你为什么要用一种技术做某事,然后用完全不同的、不相关的技术来撤销它?成对的行为应该尽可能地本地化,并且在 JS 中的同一位置隐藏表单和绑定取消隐藏操作比某处某个样式表中完全不相关的 CSS 规则要干净得多.这不是关于“如果不启用 JS 会怎样”,更多的是关于编写软件well。不可否认,这比 JS/CSS 解决方案要好。
猜你喜欢
  • 1970-01-01
  • 2014-05-03
  • 2018-01-15
  • 1970-01-01
  • 1970-01-01
  • 2011-04-11
  • 1970-01-01
  • 2012-01-18
  • 1970-01-01
相关资源
最近更新 更多