Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.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
将带有jQuery所选插件的选项multiple传递到PHP表单_Php_Jquery_Forms_Jquery Chosen - Fatal编程技术网

将带有jQuery所选插件的选项multiple传递到PHP表单

将带有jQuery所选插件的选项multiple传递到PHP表单,php,jquery,forms,jquery-chosen,Php,Jquery,Forms,Jquery Chosen,我有一个HTML表单。我有一些jQuery动画(对话框弹出和验证),它将数据发送到form.php 我的问题是:我收到带有姓名、电子邮件和电话的电子邮件,但只传递了一个选项。我没有多重选择 有人能帮我吗 这是我的代码: HTML 名称 电子邮件 电话 交替未定节拍 底部 言论自由 操朋友 绝望的街道 如果我今晚死了 臭名昭著的 明显的行为 下飞机 恼火的 以下是HTML页面顶部的jQuery: $(文档).ready(函数(){ $('#form_id')。提交(函数(){ no

我有一个HTML表单。我有一些jQuery动画(对话框弹出和验证),它将数据发送到
form.php

我的问题是:我收到带有姓名、电子邮件和电话的电子邮件,但只传递了一个选项。我没有多重选择

有人能帮我吗

这是我的代码:

HTML


名称


电子邮件

电话

交替未定节拍 底部 言论自由 操朋友 绝望的街道 如果我今晚死了 臭名昭著的 明显的行为 下飞机 恼火的
以下是HTML页面顶部的jQuery:

$(文档).ready(函数(){

$('#form_id')。提交(函数(){
nom=$(this.find(“#nom”).val();
email=$(this).find(#email”).val();
tel=$(this.find(“#tel”).val();
/*beats=$(this.find(“#beats”).val()*/
beats=$(this.find(“#beats”).val();
$.post('form.php'{
诺姆:诺姆,
电邮:电邮,,
电话:电话:,
节拍:节拍
},函数(数据){
如果(data.error=='mail\u invalide'){
$('#basic-modal-content2').modal();
返回false;
}else if(data.error=='vide'){
$('#basic-modal-content1').modal();
返回false;
}否则{
$('#basic-modal-content3').modal({onClose:function(){
$(“输入”).val(“”);
$(“文本区域”).val(“”);
$.modal.close();
}});
返回false;
}
}“json”);
返回false;
});
});
最后是我的form.php

    <?php
$e = array();
$e['error'] = "Non valid form";
if(empty($_POST['nom']) || empty($_POST['tel'])){
  $e['error'] = "vide";
}

elseif(!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)){
  $e['error'] = "mail_invalide";
}

else{
  $e['error'] = 'Ok';
  $nom = $_POST['nom'];
  $email = $_POST['email'];
  $tel = $_POST['tel'];
  $beats = $_POST['beats'];


  $to = 'w-productions@hotmail.com';
  $sujet = 'New message from W-Productions.com '.$email;

  $body = "New message from W-Productions.com \n\n
          Name: $nom \n
          Emali: $email \n
          Phone: $tel \n\n

          Beats: $beats";




  mail($to, $sujet, $body);

}

echo json_encode($e);
?>

$\u POST['beats']
是所选选项的数组

如果您只需要所选选项的列表,请尝试:

$beats = implode(',', $_POST['beats']);
在HTML方面,您不需要为option元素设置名称属性。
您还可以简化此部分:
nom=$(this.find(“#nom”).val()
to
nom=$(“#nom”).val()当您使用IDs时。

您应该使用伪选择器获得所选选项:

$(this).find("#beats option:selected").each(function(){
    beats.push($(this).val());
})
$beats = implode(',', $_POST['beats']);
$(this).find("#beats option:selected").each(function(){
    beats.push($(this).val());
})