ruby-on-rails - 如何在 Ruby on Rails 表单中添加 document.getElementById 值?
问题描述
页面加载后,脚本标签内会生成一个动态值(foo_value)。我希望在表单中显示该值,因此当用户填写表单时,包括动态值在内的所有内容都将存储在模型中。
foo_value 是动态的,可以在用户提交表单之前更改。
当我检查document.getElementById('foo_value').value
. 但它并没有出现在text_field
.
<%= form_with(model: fooLand) do |form| %>
<div class="field">
<%= form.label :foo %>
<%= form.text_field :foo, value: "", id: :foo_value %>
</div>
...
<% end %>
<script>
function generateFooValue() {
... //code to generate foo_value
document.getElementById('foo_value').value = foo_value;
}
</script>
我尝试过的其他语法text_field
:
<%= form.text_field :foo, value:"", id: :foo_value %>
<%= form.text_field :foo, id: :foo_value %>
<%= form.text_field :foo, id: "foo_value" %>
<%= form.text_field :foo, value: :foo_value %>
解决方案
<body onload="myFunction()">
<%= form_with url: '/testing', method: :get, local: true do |form| %>
<div class="field">
<%= form.label :foo %>
<%= form.text_field :foo, value: "", id: :foo_value %>
</div>
<% end %>
</body>
<script>
function myFunction() {
document.getElementById("foo_value").value = 'x';
}
</script>
更新了我在 Rails 应用程序中尝试过的内容。它在我的浏览器中非常适合我。当我打开页面时,“x”出现在文本字段中。
推荐阅读
- java - 如何在 IntelliJ IDEA 中配置新的 Maven 项目?
- html - 该功能不是用R重新刮擦
- javascript - (Discord.js) 检测不是数字的参数
- sql - Azure SQL - 将列添加到外部表上的查询时出现奇怪的错误
- python - 如何将对象从 Uvicorn 服务器传递到 App 实例
- apache-kafka - 更新日志主题和重新分区主题 kafka 流
- c - c 中的简单 shell - valgrind 显示排序命令的内存泄漏
- hive - 如何以演示用户的身份上传 Hue 中的文件
- bokeh - 在 JS 中嵌入散景对象。CORS 问题
- python - 从 tf.function 中 tensorflow 2.x 中任何类型的对象列表中选择项目