由于提交按钮导致代码不稳定

时间:2018-02-08 02:55:25

标签: javascript jquery ruby-on-rails

我有2个模型 - projecttodo(项目有许多待办事项)。我写了一个表单,将作业添加到托盘中选择的项目中,但不幸的是,这种添加并不总是如此。在我的项目的条件下,提交按钮应该是一个链接,由我实现

<%= link_to 'OK', "#", :onclick => "$('#form_id').submit()" %>

表单工作正常,直到我将提交按钮更改为链接,然后有时它正常工作,有时它不会

<h1> Новая задача </h1>
  <%= form_with scope: :todo, url: todos_path, id: :form_id, local: true do |form| %>
  <p>
    <% form.label :text %><br>
    <%= form.text_field :text, placeholder: "Название задачи" %>
  </p>
  <%= form.select( :project_id, options_from_collection_for_select(Project.all, :id, :title)) %>
  <p>
    <a href="/projects">ОТМЕНА</a>
    <%= link_to 'OK', "#", :onclick => "$('#form_id').submit()" %>
  </p>
<% end %>

我也尝试在css中写一个像link_to这样的按钮,但是由于我无法找到最佳的字母厚度,我被迫放弃了这样的操作。

2 个答案:

答案 0 :(得分:0)

你为什么使用提交onclick?

只需使用通常的提交:

<%= form.submit 'OK' %>

答案 1 :(得分:0)

如果链接仅是您的要求,则只需使用link_to帮助link_to_function而不是link_to_function 'ok', 'function_call_here'

on click

另一件事是将jquery代码放在$('#ok-link').click(function (event) { event.preventDefault(); // Prevent link from following its href submit_your_form_here(); }); 只是使用观察者

是不好的做法
$( "#ok-link" ).on( "click", function() {
  console.log( $( this ).text() );
});

如果您的ok链接是动态生成的,则更改点击jquery here

的功能
{{1}}
  

我建议您使用提交或按钮标签,并根据您的需要制作适合的CSS。

您可以找到link_to_function说明here