Javascript 页面上的表单太多-这是一个问题吗
我正在寻找的做法,这是最可取的编码方面的做法 我有一个评论系统,每个评论,你都可以回复。这让我想到了几个实现这一点的选项(假设后端已经创建)Javascript 页面上的表单太多-这是一个问题吗,javascript,ajax,ruby-on-rails-3,forms,Javascript,Ajax,Ruby On Rails 3,Forms,我正在寻找的做法,这是最可取的编码方面的做法 我有一个评论系统,每个评论,你都可以回复。这让我想到了几个实现这一点的选项(假设后端已经创建) 当用户单击“reply”时,会触发ajax,获取适当的部分(包括AuthenitAction令牌等),并将其插入适当的位置 我对每个评论都有一个隐藏的表单,单击reply将使其可见 我使用javascript在用户单击reply时动态生成表单,并将其插入到单击reply的相应div中 我的每一个问题都是 对于1-这会导致请求、延迟,我不确定这里是否需要aj
reply
”时,会触发ajax,获取适当的部分(包括AuthenitAction令牌等),并将其插入适当的位置reply
将使其可见 <form accept-charset="UTF-8" action="comments/3/reply" data-remote="true" method="post">
<div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="✓">
<input name="authenticity_token" type="hidden" value="J0/asxkDH....vdlKLOUuQ9/TAxACWnZKdwy+c="></div>
<textarea id="comment" name="comment" class="tae" style="overflow: hidden;"></textarea>
<input name="commit" type="submit" value="Send">
</form>
我以前遇到过一个类似的案例,最后我提出了一个类似于您的#1的Ajax解决方案 对于#2,是的,有太多的形式,即使是隐藏的。我不喜欢那样 对于#3,我想使用JS模板,这是主干网中流行的样式。但是,当时我没有找到一个成熟且最新的jQuery模板解决方案。在这种情况下,我也没有足够的时间,所以我放弃了 添加:对于#3中的真实性#令牌,我还没有测试过,但我认为如果表单模板已经输出到DOM中并准备好令牌,那么这不会是一个问题。它们适用于同一用户和同一类型的对象。我们只需要更改对象id或其他次要内容。需要注意的一点是,一旦成功处理Ajax请求,就需要通过Ajax重新加载模板 我想1号没问题。不会有太多Ajax请求。用户只会在需要表单时才请求表单,而且延迟太小,根本不会引起注意。我甚至设置了
sleep
来增强加载效果:)此外,Basecamp还大量使用Ajax来渲染动态内容
另外,谢谢Leon修改我的语法:)