2015-07-21 16 views
0

我在PHP中有以下形式的操作。我已使用检查清单来获取项目名称。如果我选择列表中的项目,它将以Array,Array而不是原始值(即Tatvam,Amairo,Vedam)出现。HTML与PHP的检查清单

我收到的消息是这样

This is the message I am getting if I select one project

jQuery(".form-js-contact").submit(function() { 
    var thisform = jQuery(this); 
    jQuery('.required-error',thisform).remove(); 
    var aname = jQuery("#aname").val(); 
    var amail = jQuery("#amail").val(); 
    var aphone = jQuery("#aphone").val(); 
    var acomments = jQuery("#acomments").val(); 
    var color = jQuery("input[name='color[]']").serializeArray(); 

    var psubject = jQuery("#psubject").val(); 

    var data = {'aname':aname,'amail':amail,'aphone':aphone,'acomments':acomments,'psubject':psubject,'color':color}; 
    if (aname == "") { 
     jQuery("#aname").after('<span class="form-description required-error">Required field.</span>'); 
    }else { 
     jQuery("#aname").parent().find('.required-error').remove(); 
    } 
    if (amail == "") { 
     jQuery("#amail").after('<span class="form-description required-error">Required field.</span>'); 
    }else { 
     jQuery("#amail").parent().find('.required-error').remove(); 
    } 
    if (aphone == "") { 
     jQuery("#aphone").after('<span class="form-description required-error">Required field.</span>'); 
    }else { 
     jQuery("#aphone").parent().find('.required-error').remove(); 
    } 
    if (acomments == "") { 
     jQuery("#acomments").after('<span class="form-description required-error">Required field.</span>'); 
    }else { 
     jQuery("#acomments").parent().find('.required-error').remove(); 
    } 



    if (aname != "" && amail != "" && aphone != "" && acomments != "") { 
     jQuery.post("contact_us_contact.php",data,function (result) { 
      if (result == "done") { 
       thisform.prepend("<div class='alert-message success-contact'><p><strong>Thank you "+name+"!</strong> We'll be in touch real soon .</p></div>"); 
       jQuery("#aname").val(""); 
       jQuery("#amail").val(""); 
       jQuery("#aphone").val(""); 
       jQuery("#acomments").val(""); 

      } 
     }); 
    } 
    return false; 
}); 

这是我的HTML代码

<form class="form-style form-js-contact" action="contact_us_contact.php" method="post"> 
         <input type="hidden" name="psubject" id="psubject" value="Enquiry from Contact Page"> 
<div class="col-md-6 col-lg-6" > 
<input class=required-item value="" name=aname id=aname aria-required=true placeholder="Your Name*"></div> 
<div class="col-md-6 col-lg-6" ><input type=email class=required-item id=amail name=amail value="" aria-required=true placeholder="Your Email*"></div> 
<div class="col-md-6 col-lg-12" ><input class=required-item aria-required=true id=aphone name=aphone value="" placeholder="Your Phone*"></div> 

<div class="col-md-3" style="margin-bottom:10px; "><h4>Projects Interested</h4></div> 
<div class="col-md-2" ><input name="color[]" id="color" class="check" type="checkbox" value="Amairo">Amairo</div> 
<div class="col-md-2" ><input name="color[]" id="color" class="check" type="checkbox" value="Tatvam">Tatvam</div> 
<div class="col-md-2" ><input name="color[]" id="color" class="check" type="checkbox" value="Vedam">Vedam</div> 

<div class="col-md-6 col-lg-12" > 
<textarea name="acomments" id="acomments" class=required-item aria-required=true placeholder="Type Your Message*"></textarea></div> 
<div class="col-md-6 col-lg-6" > 
<input style=font-size:16px name=submit type=submit value="Send Enquiry" class="submit_buttom buttonColor" id="Main_Contact_Form"></div> 
</form> 

这是我的PHP

 <?php 
    function clean_text($text='') { 
    $text = trim($text); 
    $text = strip_tags($text); 
    $text = addslashes($text); 
    $text = htmlspecialchars($text); 
    return $text; 
    } 
    if (!$_POST) { 
    die(); 
    }else { 
    if (empty($_POST["aname"]) && empty($_POST["aphone"]) &&  empty($_POST["amail"])&& empty($_POST["acomments"])) { 
    echo "all_empty"; 
}else if (empty($_POST["aname"])) { 
    echo "empty_name"; 
}else if (empty($_POST["amail"])) { 
    echo "empty_mail"; 
}else if (empty($_POST["aphone"])) { 
    echo "empty_phone"; 
}else if (empty($_POST["acomments"])) { 
    echo "empty_Comments"; 
}else {  
    $your_email = "[email protected]";  
    $aname = clean_text($_POST["aname"]); 
    $amail = clean_text($_POST["amail"]); 
    $aphone = clean_text($_POST["aphone"]); 
    $acomments = clean_text($_POST["acomments"]); 
    $wname = $_POST['color']; 
    $psubject = clean_text($_POST["psubject"]); 
    $subject = "$psubject"; 

    $headers = "From: [email protected]". "\r\n"; 
    $headers .= 'Content-type: text/html; charset=UTF-8'. "\r\n"; 
    $msg  = "New Message \n\r <br>"; 
    $msg  .= "Name : \t $aname \r\n <br>"; 
    $msg  .= "Email : \t $amail \r\n<br>";  
    $msg .= "Phone : \t $aphone \r\n<br>"; 
    $msg .= "Message : \t $acomments \r\n<br>"; 
    if (isset($wname)) { 
    $msg .= "Project(s) Interested: \r\n"; 
    $msg .= "<ul> \r\n"; 
    foreach ($wname as $color){ 
    $msg .="<li>" .$color. "</li> \r\n"; 
} 

    $msg .= "</ul>"; 

    } // isset 

    echo "done"; 
    $done = @mail($your_email, $subject, $msg, $headers); 
    } 
} 

?>

+0

您可能需要提供你想要什么来实现或者你有什么具体问题的详细信息。否则,将很难帮助你解决这个问题。 – jrenk

+0

嗨jrenk,感谢您的快速回复。我确实需要的是检查清单工作不正常。我没有从清单中得到值,即使它也被检查。你能不能更新我一样的。 – Suthakar

回答

3

您正在使用的ID jQuery("#color").val();和取色值的jQuery根据HTML规则,只有一个具有相同名称的标识,因此您只能获得一个值。你必须更换喜欢

> jQuery 

var color = jQuery("input[name='color[]']").serializeArray(); 

,然后你会得到PHP代码颜色的所有值$wname = $_POST['color'];

+0

您能告诉我为什么值将以数组而不是我在值标记中给出的原始值发送。在此先感谢 – Suthakar

+0

因为您将获得数组中的颜色数据。你需要在ul li中解析数组 –

+0

Hi,Pathik我更新了jQuery和PHP中的新代码。请检查并让我知道问题。谢谢 – Suthakar

0

在你的PHP代码

$wname  = implode(",", $_POST['color']); 

替换此

$wname  = $_POST['color']; 

因为你是从HTML传递name="color[]"作为数组。

+0

嗨赛义德,我用同样的事情,但我得到他的消息没有项目 名称:测试仪 电子邮件:[email protected] 电话:123456789 消息:测试 – Suthakar

0

您的代码出现了错误

下似乎是错误的

if (isset($_POST['wname'])) {...} 

我相信它应该是

if (isset($wname)) {...} 
+0

拉兹您好,我使用了相同的事情,但我是否让他在没有该项目的情况下发送消息名称:测试人员电子邮件地址:[email protected]电话:123456信息:测试 – Suthakar