为什么jQuery,Rails和Chrome偶尔会提交?

时间:2011-02-11 03:46:45

标签: jquery ruby-on-rails google-chrome submit

尝试使用Rails和jQuery获取文本链接以在Chrome中提交表单时出现了很多问题。

我尝试了很多组合,而且在Chorme中效果最好的组合是:

$('form:first').trigger('submit')

这很疯狂......为什么它会在第一次,第二次,有时是第三次,但然后停止工作?

以下是呈现文本链接提交按钮的Rails代码:

<li><%= link_to raw("<span class='button approve'><span><span>SAVE</span></span></span>"), "index_users", :onclick=>"$('form:first').trigger('submit')"%></li>

我在Chrome中使用相同类型的偶发结果尝试了此代码:

$(this).closest('form').submit();

非常感谢任何帮助。

编辑:

这是表单标记呈现的内容:

<form method="post" id="form1" data-remote="true" class="search_form general_form" action="/settings/2/update_user" accept-charset="UTF-8">

以下是文本按钮呈现的内容:

<li><a onclick="$(this).trigger('click');" href="index_users"><span class="button approve"><span><span>SAVE</span></span></span></a></li>

onclick代码正在改变,因为我正在尝试我能找到的所有内容。再次感谢您的建议。

3 个答案:

答案 0 :(得分:1)

很难看到你想用link_to raw做什么。你为什么不首先用提交表单做一些简单的事情?我没有看到提交的表单或操作。等

答案 1 :(得分:0)

我最终使用了这个

$(this).closest('form').submit();"

我认为另一个关键是我们“#”

  • &lt;%= link_to raw(“SAVE”),“#”,:onclick =&gt;“$(this).closest('form')。submit();”% &GT;
  • 答案 2 :(得分:0)

    我怀疑你的问题与Javascript事件监听器有关 - 为UJS正确挂起它们(我假设你在表单上使用data-remote="true"属性进行调用)可能很棘手。

    您的控制器在用户更新中呈现了什么? HTML?的Javascript?