Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.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
Php 单选按钮在通过电子邮件发送时无法正常工作_Php_Html_Bootstrap 4 - Fatal编程技术网

Php 单选按钮在通过电子邮件发送时无法正常工作

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

我有一张有两套单选按钮的表格。一个有5个选项,另一个有2个选项。这个表格很好用。但当我单击提交时,电子邮件只显示第一个选项,而不是用户选择的选项。此代码中的故障在哪里

<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()