Rails 4 从包含 javascript var 的 text_field_tag 获取值
Rails 4 get value from text_field_tag that contains javascript var
我正在从 rails 2.3.10 迁移到 rails 4,我有一个应用程序可以在手机上向患者发送消息。当我 select 一个或多个并发送消息时,我的应用程序显示了一个时间表患者列表,并且每一行都存在一个 check_box_tag。
所以我有一个调用部分的表单,这个部分包含一个带有 check_box_tag 的列表。每个复选框 selected 都存储在主窗体的 javascript 变量 selected_ids 和 return 上的 text_field_tag 上。问题出在事件 link_to 上,参数 selected_ids 为空,但我可以在 check_box_tag 上看到
下面部分表格,partial and javascript:
function MultiSelectIDs(FieldName) {
var selected_ids = new Array()
var objCheckBoxes = document.getElementsByName(FieldName);
for(var i = 0; i < objCheckBoxes.length; i++){
if (objCheckBoxes[i].checked) {
var x = selected_ids.splice(selected_ids.length,0, objCheckBoxes[i].id);
}
}
document.getElementById('selected_ids').value = selected_ids.join(", ")
};
<% if !@tagendamento.blank? && !@tagendamento.nil? %>
<% for tagendamento in @tagendamento do %>
<tr>
<%= check_box_tag "#{tagendamento.id}", 0, false, :name=> "chk_agendamento", :onclick => "MultiSelectIDs('chk_agendamento')" %>
<% end %>
<%= text_field_tag :selected_ids %>
<%= link_to 'Pré-Visualizar SMS',send_sms_queries_path(:sel_ids=>params[:selected_ids],:perfil=>params[:perfil], :visualizar => '1', :dt_envio=>(params[:dt_envio].nil?)? (Date.today - 3) : params[:dt_envio],:t_envio=>params[:t_envio],:tipo_msg=>params[:tipo_msg],:mensagem=>(!params[:mensagem].nil? and !params[:mensagem].blank?)? params[:mensagem] : @standard,:selec_tipotemplate_sms=>params[:selec_tipotemplate_sms],:date_agend_hc=>params[:date_agend_hc]), :target=>'_blank', :style => "color:black"%>
<%= text_field_tag :selected_ids %>
<%= link_to 'Pré-Visualizar SMS', send_sms_queries_path(:sel_ids => params[:selected_ids],
:perfil => params[:perfil],
:visualizar => '1',
:dt_envio => (params[:dt_envio].nil?)? (Date.today - 3) : params[:dt_envio],
:t_envio => params[:t_envio],
:tipo_msg => params[:tipo_msg],
:mensagem => (!params[:mensagem].nil? and !params[:mensagem].blank?)? params[:mensagem] : @standard,
:selec_tipotemplate_sms => params[:selec_tipotemplate_sms],
:date_agend_hc => params[:date_agend_hc]),
:target => '_blank',
:style => "color:black"%>
终于成功了!
在onclick link_to中添加text_field_tag的内容如下:
<%= link_to 'Pré-Visualizar SMS', send_sms_queries_path(:selected_ids =>params[:selected_ids]),
:target => '_blank',
:style => "color:black",
:onclick => "this.href = this.href + '&selected_ids=' + selected_ids.value"%>
谢谢大家!
我正在从 rails 2.3.10 迁移到 rails 4,我有一个应用程序可以在手机上向患者发送消息。当我 select 一个或多个并发送消息时,我的应用程序显示了一个时间表患者列表,并且每一行都存在一个 check_box_tag。 所以我有一个调用部分的表单,这个部分包含一个带有 check_box_tag 的列表。每个复选框 selected 都存储在主窗体的 javascript 变量 selected_ids 和 return 上的 text_field_tag 上。问题出在事件 link_to 上,参数 selected_ids 为空,但我可以在 check_box_tag 上看到 下面部分表格,partial and javascript:
function MultiSelectIDs(FieldName) {
var selected_ids = new Array()
var objCheckBoxes = document.getElementsByName(FieldName);
for(var i = 0; i < objCheckBoxes.length; i++){
if (objCheckBoxes[i].checked) {
var x = selected_ids.splice(selected_ids.length,0, objCheckBoxes[i].id);
}
}
document.getElementById('selected_ids').value = selected_ids.join(", ")
};
<% if !@tagendamento.blank? && !@tagendamento.nil? %>
<% for tagendamento in @tagendamento do %>
<tr>
<%= check_box_tag "#{tagendamento.id}", 0, false, :name=> "chk_agendamento", :onclick => "MultiSelectIDs('chk_agendamento')" %>
<% end %>
<%= text_field_tag :selected_ids %>
<%= link_to 'Pré-Visualizar SMS',send_sms_queries_path(:sel_ids=>params[:selected_ids],:perfil=>params[:perfil], :visualizar => '1', :dt_envio=>(params[:dt_envio].nil?)? (Date.today - 3) : params[:dt_envio],:t_envio=>params[:t_envio],:tipo_msg=>params[:tipo_msg],:mensagem=>(!params[:mensagem].nil? and !params[:mensagem].blank?)? params[:mensagem] : @standard,:selec_tipotemplate_sms=>params[:selec_tipotemplate_sms],:date_agend_hc=>params[:date_agend_hc]), :target=>'_blank', :style => "color:black"%>
<%= text_field_tag :selected_ids %>
<%= link_to 'Pré-Visualizar SMS', send_sms_queries_path(:sel_ids => params[:selected_ids],
:perfil => params[:perfil],
:visualizar => '1',
:dt_envio => (params[:dt_envio].nil?)? (Date.today - 3) : params[:dt_envio],
:t_envio => params[:t_envio],
:tipo_msg => params[:tipo_msg],
:mensagem => (!params[:mensagem].nil? and !params[:mensagem].blank?)? params[:mensagem] : @standard,
:selec_tipotemplate_sms => params[:selec_tipotemplate_sms],
:date_agend_hc => params[:date_agend_hc]),
:target => '_blank',
:style => "color:black"%>
终于成功了! 在onclick link_to中添加text_field_tag的内容如下:
<%= link_to 'Pré-Visualizar SMS', send_sms_queries_path(:selected_ids =>params[:selected_ids]),
:target => '_blank',
:style => "color:black",
:onclick => "this.href = this.href + '&selected_ids=' + selected_ids.value"%>
谢谢大家!