如何在 Rails 表单的 Ruby 中添加 document.getElementById 值?
How to add document.getElementById value inside a Ruby on Rails form?
加载页面后,脚本标记内会生成一个动态值 (foo_value)。我希望在表单中显示该值,因此当用户填写表单时,包括动态值在内的所有内容都将存储在模型中。
foo_value 是动态的,在用户提交表单之前可以更改。
当我检查 document.getElementById('foo_value').value
时,foo_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' 出现在文本字段中。
加载页面后,脚本标记内会生成一个动态值 (foo_value)。我希望在表单中显示该值,因此当用户填写表单时,包括动态值在内的所有内容都将存储在模型中。
foo_value 是动态的,在用户提交表单之前可以更改。
当我检查document.getElementById('foo_value').value
时,foo_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' 出现在文本字段中。