Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 数据确认应包括已检查无线电输入的名称或值_Javascript_Jquery_Ruby On Rails_Ruby_Confirm - Fatal编程技术网

Javascript 数据确认应包括已检查无线电输入的名称或值

Javascript 数据确认应包括已检查无线电输入的名称或值,javascript,jquery,ruby-on-rails,ruby,confirm,Javascript,Jquery,Ruby On Rails,Ruby,Confirm,我想在用户点击提交时显示动态内容作为数据确认消息的一部分。在我看来, <div class="form-check"> <input class="form-check-input" type="radio" name="team" id="<%= team.id %>" value="<%= team.id %>"> &

我想在用户点击提交时显示动态内容作为数据确认消息的一部分。在我看来,

<div class="form-check">
  <input class="form-check-input" type="radio" name="team" id="<%= team.id %>" value="<%= team.id %>">
  <label class="form-check-label" for="<%= team.id %>">
    <span id="form-check-team"><%= team.short_name %></span>
  </label>
</div>
<div class="col-sm-6">
  <%= form.submit 'Submit', :data => {:confirm => 'Confirm you have chosen?'} %>
</div>

{:确认=>'确认您已选择?'}%>
我希望在对话框中有这样的动态内容

<%= form.submit 'Submit', :data => {:confirm => 'Confirm you have chosen #{team.shortname}'} %>
{:confirm=>'确认您已选择#{team.shortname}'}%>

因此,基本上,如果选中了输入,我如何获取id表单检查团队的文本

我认为最好在这里使用JS来连接需要添加的文本。

您可以做的是,当复选框的值更改时,修改submit按钮上的
data confirm
的值:

document.querySelector('.form check input').addEventListener('change',函数(事件){
var$submitButton=document.querySelector('input[type=submit]');
var$teamnamelement=document.getElementById('form-check-team');
var$checkBox=event.target;
var originalMessage=null;
如果($checkBox.checked){
//选中复选框后,更新消息以包含团队名称
originalMessage=$submitButton.getAttribute('data-confirm');
$submitButton.setAttribute('data-confirm-original',originalMessage);
$submitButton.setAttribute('data-confirm','confirm您已选择'+$teamnamelement.textContent+'?');
}否则{
//取消选中该复选框后,恢复原始邮件
originalMessage=$submitButton.getAttribute('data-confirm-original');
$submitButton.setAttribute('data-confirm',originalMessage);
$submitButton.removeAttribute('data-confirm-original');
}
});
但是,如果
#form check team
的内容与从服务器呈现的内容没有变化,那么只需从服务器本身设置确认消息就更容易了:

<%= form.submit 'Submit', data: { confirm: "Confirm you have chosen #{team.shortname}" } %>

我该怎么做呢。我的JS技能不是一流的