Rails 输入表单填充了 jQuery .val(),但参数中不存在数据

Rails input form got populated with jQuery .val(), however data is not present in params

本文关键字:参数 数据 不存在 表单 输入 填充 val jQuery Rails      更新时间:2023-09-26

我正在尝试使用javascript变量填充Rails表单中的字段。

这是代码:


视图

= form_for @post do |f|
  = f.text_area :hello
  = f.submit class: "savebtn"

控制器

def update
  @post = Post.find(params[:id])
  ...
end

JavaScript

var $save = $('.savebtn');
$save.on('click', function(e) {
  var someVar = "hey!";
  $('#post_hello').val(someVar);
});


我可以立即看到文本区域是如何填充的。但是,数据"永远不会"以参数形式到达。我通过在控制器操作中提出一些东西来检查这一点,如下所示:

def update
  @post = Post.find(params[:id])
  raise '¯'_(ツ)_/¯'
  ...
end


post_params

{"hello"=>""}

但是,如果我手动输入相同的数据,它可以正常工作。

我错过了什么?有没有更好的方法?(除了这还没有奏效的事实)

提前感谢!

尝试填充表单提交事件中的值,而不是点击事件

$('form').submit(function(event){
  var someVar = "hey!";
  $('#post_hello').val(someVar);
})