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技能不是一流的