【发布时间】:2012-07-16 12:02:29
【问题描述】:
我正在尝试在表单中使用一些 javascript 从选择下拉框中获取值,并在表单的另一部分使用它。我无法弄清楚语法。
首先是 javascript 函数(我把它放在视图的末尾):
<script type="text/javascript">
function return_event_id()
{
var event_id = document.getElementById("event_id");
return event_id.value;
}
</script>
在视图内部,我有以下内容:
<%= select("discount_code", :event_id, events_ids_titles_hash, { :include_blank => true }) %>
如果我添加以下语句:
return_event_id
然后我选择的下拉项显示在表单上(虽然我也看到了 return_event_id 这个词)。
如果我这样做:
<% selected_event_id = return_event_id %>
我收到以下错误消息:未定义的局部变量或方法 `return_event_id'
我正在寻找的是能够将 event_id 值存储在变量中。正确的语法是什么?
关于答案的其他详细信息和 cmets:
1:是的,Ruby 代码 = 服务器,javascript 代码 = 客户端
2:将代码放在 application.js 之类的代码中会将其移出 view.erb 模块,但据我所知,它不会改变结果。
我知道 将不起作用,但我确实需要达到一个点,我可以以某种方式将 return_event_id 的输出传递回服务器,然后将其捕获到 Ruby 变量中,或者, 如果有办法使用 javascript 函数输出来设置表单中的另一个元素。
【问题讨论】:
-
您正试图从 ruby 语句(在客户端甚至知道有响应之前在服务器上运行)调用 javascript 函数(在浏览器上运行)?世界上没有任何语法可以解决这个问题。
-
什么是 Selected_event_id 是文本框(html)还是服务器端的东西?
标签: javascript ruby-on-rails syntax views