Ruby on rails 如何禁用原型助手旁边的Rails提交按钮&;RJS?

Ruby on rails 如何禁用原型助手旁边的Rails提交按钮&;RJS?,ruby-on-rails,prototypejs,haml,rjs,Ruby On Rails,Prototypejs,Haml,Rjs,我正试着关注这篇文章,但我无法让它发挥作用。表单触发一个RJS函数,所以我需要保持helpers的onclick事件不变。RJS返回/重新加载相同的表单以及两个新文本。我真的很困惑。以下是我的表单rails代码: .span-20#comparison / new comparison . . . / voting forms (also reloaded) .span-4.prepend-3.append-6 - form_remote_tag :action =>

我正试着关注这篇文章,但我无法让它发挥作用。表单触发一个RJS函数,所以我需要保持helpers的onclick事件不变。RJS返回/重新加载相同的表单以及两个新文本。我真的很困惑。以下是我的表单rails代码:

.span-20#comparison
  / new comparison . . .
  / voting forms (also reloaded)
  .span-4.prepend-3.append-6
    - form_remote_tag :action => url_for(:controller => :comparisons), :method => :post do
      = hidden_field_tag :poem1_id, poems[:a].id
      = hidden_field_tag :poem2_id, poems[:b].id
      = hidden_field_tag :response, 1
      = submit_tag "Vote for me", :disabled => false, :disable_with => 'Vote for me', :class => "compare"    

  .span-4.append-3.last
    - form_remote_tag :action => url_for(:controller => :comparisons), :method => :post do
      = hidden_field_tag :poem1_id, poems[:a].id
      = hidden_field_tag :poem2_id, poems[:b].id
      = hidden_field_tag :response, 2
      = submit_tag "Vote for me", :disable_with => 'Vote for me', :class => "compare"

  .span-4.prepend-8.append-8.prepend-top.last
    - form_remote_tag :action => url_for(:controller => :comparisons), :method => :post do
      = hidden_field_tag :poem1_id, poems[:a].id
      = hidden_field_tag :poem2_id, poems[:b].id
      = hidden_field_tag :response, 'draw'
      = submit_tag "Declare Draw", :disable_with => 'Declare Draw', :class => "compare"
RJS

page.replace\u html:comparison,:partial=>'poems',:object=>@poems
page.insert_html:top,:previous,:partial=>'comparison',:object=>@comparison

page这里有一种使用Prototype的方法:

<script type="text/javascript">
  document.observe("dom:loaded" function() {
    $$("input .compare").each(function(submit) {
      submit.observe("click", function() {
        submit = true;
      });
    });
  });
</script>

document.observe(“dom:loaded”函数(){
$$(“input.compare”)。每个函数(提交){
提交。观察(“单击”,函数(){
提交=真;
});
});
});

这将在加载DOM时,使用
compare
CSS类(即提交按钮)向每个
input
元素添加onclick事件处理程序。onclick事件处理程序在单击每个按钮时禁用它。请注意,以这种方式使用Prototype添加事件处理程序不会替换元素上的任何现有事件处理程序。

以下是使用Prototype的一种方法:

<script type="text/javascript">
  document.observe("dom:loaded" function() {
    $$("input .compare").each(function(submit) {
      submit.observe("click", function() {
        submit = true;
      });
    });
  });
</script>

document.observe(“dom:loaded”函数(){
$$(“input.compare”)。每个函数(提交){
提交。观察(“单击”,函数(){
提交=真;
});
});
});

这将在加载DOM时,使用
compare
CSS类(即提交按钮)向每个
input
元素添加onclick事件处理程序。onclick事件处理程序在单击每个按钮时禁用它。请注意,以这种方式使用Prototype添加事件处理程序不会替换元素上的任何现有事件处理程序。

这是如何禁用其他单击的?抱歉,不太清楚您试图执行的操作。这是如何禁用其他单击的?抱歉,不太清楚您试图执行的操作。