Javascript 在提交之前执行js代码;提交;在RubyonRails中

Javascript 在提交之前执行js代码;提交;在RubyonRails中,javascript,jquery,html,ruby-on-rails,ruby,Javascript,Jquery,Html,Ruby On Rails,Ruby,我似乎无法让我在魔幻世界上找到的旧js脚本如此 <div class="form-actions"> <%= f.button :submit, class:"btn btn-success create-campaign" %> </div> 这是代码 当我将listener类更改为另一个按钮时,它可以正常工作(至少我可以看到控制台日志),但当按下submit按钮时就不行了 我该怎么办 干杯。您需要防止触发默认提交操作: $(".create

我似乎无法让我在魔幻世界上找到的旧js脚本如此

<div class="form-actions">
    <%= f.button :submit, class:"btn btn-success create-campaign" %>

  </div>
这是代码

当我将listener类更改为另一个按钮时,它可以正常工作(至少我可以看到控制台日志),但当按下submit按钮时就不行了

我该怎么办


干杯。

您需要防止触发默认提交操作:

$(".create-campaign").click(function(e) {
  e.preventDefault();
  console.info('asdasd');
  var a = $('.message-div').html();
  alert(a); // just to check that your data is there
  document.getElementById('.special').value = a;
  $("#YOUR_FORM_ID").submit();
});

myTextarea类在输入字段中的什么位置?@urjitonrails是的,很抱歉我从ctrl-z复制了它,我想我做得太多了。我会编辑这个问题,但这不是问题,因为代码甚至没有出现在控制台部分。只是尝试了一下,没有起作用,它没有阻止提交。我在我的视图中在js脚本标记之间调用了它。您是否用“jQuery(document).ready(function(){});”包装js?您还应该将其移动到“app/assets/javascripts/”下的某个资产文件中,而不要直接将其包含在视图中。这可能是因为您在调用getElementById时选择了一个类“.special”,而不是调用getElementsByClassName(“special”)[0]。value或$(“.special”).val()
$(document).on("click",".create-campaign",function(e){

console.log('asdasd');

var a = $('.message-div').html();


document.getElementById('.special').value = a;

});
$(".create-campaign").click(function(e) {
  e.preventDefault();
  console.info('asdasd');
  var a = $('.message-div').html();
  alert(a); // just to check that your data is there
  document.getElementById('.special').value = a;
  $("#YOUR_FORM_ID").submit();
});