Php 单选按钮在通过电子邮件发送时无法正常工作
我有一张有两套单选按钮的表格。一个有5个选项,另一个有2个选项。这个表格很好用。但当我单击提交时,电子邮件只显示第一个选项,而不是用户选择的选项。此代码中的故障在哪里Php 单选按钮在通过电子邮件发送时无法正常工作,php,html,bootstrap-4,Php,Html,Bootstrap 4,我有一张有两套单选按钮的表格。一个有5个选项,另一个有2个选项。这个表格很好用。但当我单击提交时,电子邮件只显示第一个选项,而不是用户选择的选项。此代码中的故障在哪里 <div class="form-group"> <label>Products</label><br> <input type="radio" name="Products" id="Products" class="form-check-input" val
<div class="form-group">
<label>Products</label><br>
<input type="radio" name="Products" id="Products" class="form-check-input" value="option 1" onkeypress=chkEnter(event);>
<label for="Products">option 1</label><br>
<input type="radio" name="Products" id="Products" class="form-check-input" value="option 2" onkeypress=chkEnter(event);>
<label for="Products">option 2</label><br>
<input type="radio" name="Products" id="Products" class="form-check-input" value="option 3" onkeypress=chkEnter(event);>
<label for="Products">option 3</label><br>
<input type="radio" name="Products" id="Products" class="form-check-input" value="option 4" onkeypress=chkEnter(event);>
<label for="Products">option 4</label><br>
<input type="radio" name="Products" id="Products" class="form-check-input" value="option 5" onkeypress=chkEnter(event);>
<label for="Products">option 5</label><br>
</div>
产品
选项1
选项2
选项3
选项4
选项5
标题
先生
太太
$(文档).ready(函数(){
var startTime=Date.now();
var currentTime=[];
var得分=0;
var值;
$(“#表格1”)。提交(功能(事件){
参数={
“产品”:$(“#产品”).val(),
“EnqTitle”:$(“#EnqTitle”).val(),
};
控制台日志(params);
$.ajax({
键入:“POST”,
url:'form.php',
数据:params,
数据类型:“json”,
完成:功能(数据)
{
window.open('thankyou.html','u self')
}
});
返回false;
});
});
您在这里遇到了问题。应该是这样的:
params = {
"Products": $("input[name='Products']:checked").val(),
"EnqTitle": $("input[name='EnqTitle']:checked").val()
};
代码中存在一些问题-例如,不能有多个具有相同id的元素-这在HTML中无效。ID必须是唯一的-否则从逻辑上讲它不是ID 对于你的问题,更重要的是:
params = { "Products":$("#Products").val(), "EnqTitle":$("#EnqTitle").val(), };
不正确,因为它总是选择具有该确切ID的元素。由于您有多个具有该ID的元素,因此只有第一个元素被视为有效,并且始终返回该元素。其他元素将被忽略,因为预期只有一个元素具有特定ID。这不是找到单选按钮的选定选项的方式
幸运的是,这也没必要。只要写
data: $(this).serialize()
相反,在AJAX选项中,要让jquery自动收集表单数据,请参阅以获取详细信息
下面是演示序列化过程的演示
$(文档).ready(函数(){
$(“#表格1”)。提交(功能(事件){
log($(this.serialize());
返回false;
});
});
函数检查输入(事件){
//假人
}
产品
选项1
选项2
选项3
选项4
选项5
标题
先生
太太
@SimoneRossaini它仍然不起作用。当我选择选项3时,它仍然显示在选项1中。我知道,我以为他指的是一个多重角色-choice@MahadevanRajendran如果满足您的问题,您可以接受答案是的,尽管OP可以序列化表单并完全删除此代码
params = { "Products":$("#Products").val(), "EnqTitle":$("#EnqTitle").val(), };
data: $(this).serialize()