Javascript RubyonRails:在提交选择表单字段之前从中获取值

Javascript RubyonRails:在提交选择表单字段之前从中获取值,javascript,ruby-on-rails,Javascript,Ruby On Rails,我试图在提交select表单字段之前获取该字段的值,并将该值保存到变量中。我知道你不能只用Rails。因此JavaScript/Ajax就可以做到这一点。我对Rails还很陌生,所以我希望你能帮助我。使用Javascript var form_field_value = document.getElementById("pass-id").value 使用jQuery var form_field_value = $("#pass-id").val() 上述每一种方法都会将值保存在DOM中,

我试图在提交select表单字段之前获取该字段的值,并将该值保存到变量中。我知道你不能只用Rails。因此JavaScript/Ajax就可以做到这一点。我对Rails还很陌生,所以我希望你能帮助我。

使用Javascript

var form_field_value = document.getElementById("pass-id").value
使用jQuery

var form_field_value = $("#pass-id").val()
上述每一种方法都会将值保存在DOM中,以便您以后可以访问它。声明变量时,请确保变量的范围:

在提交之前,将值保存到变量中

这是jquery/javascript的领域——客户端的任何东西都是JS,而不是Rails

Rails/Ruby基本上类似于PHP——它在服务器上运行

尽管@Sudipta Mondal的回答会有所帮助,但您必须记住将代码绑定到通常发生更改的事件:


也许这不是你想要的环境;它应该使您能够动态地将相对值分配给字段。

如果您使用表单提交,将其保存到变量中的目的是什么。如果希望将值保存到DOM中,可以使用jQuery或Javascript简单地保存该值。如果要将其保存在数据库中,可以从form@SudiptaMondal我想在表单提交之前捕获并将值保存到变量中。这允许我的表单字段动态响应,例如,如果之前的表单字段的值为X,则淡入新表单字段。谢谢。如果我想将输出保存到变量中,代码会是什么样子?form_field_value上面的代码中的变量只存储字段的数据。您可以稍后在if条件中使用它来显示另一个表单if form_field_value==X{//display new form}@Harakiri如果您对解决方案满意,请将我的答案标记为已接受。我已将您的JavaScript保存到application.js文件中。现在我想用相应的值填充数据选项值。但当我尝试做这个数据选项时,我得到了一个未定义的局部变量或方法字段错误值=有什么想法吗?谢谢你,你从哪里来?我以为var字段=$this.val;可以这样读吗?$这是javascript,而这是Rails——它们不会按照您的需要一起工作。如果您再解释一下,我可以给您提供更多的上下文。我只想在提交表单之前,在Rails视图的下拉列表中选择表单时使用表单的值。
#app/assets/javascripts/application.js
$(document).on("change", "select#form_item", function(e){
   $(this).attr("data-option-value", $(this).val()); // this sets the "data-option-value" to the value
});