Javascript 不获取jquery中的值并将其从表单复选框传递到$\u POST
我有几个名称相同的复选框,并使用方括号来获取数组Javascript 不获取jquery中的值并将其从表单复选框传递到$\u POST,javascript,php,jquery,checkbox,Javascript,Php,Jquery,Checkbox,我有几个名称相同的复选框,并使用方括号来获取数组 <label> <input type="checkbox" value="Tlocrt objekta" name="dokument[]" > Tlocrt objekta </input> </label> <label> <input type="checkbox" value="Građevinska d
<label>
<input type="checkbox" value="Tlocrt objekta" name="dokument[]" > Tlocrt objekta </input>
</label>
<label>
<input type="checkbox" value="Građevinska dozvola" name="dokument[]" > Građevinska dozvola </input>
</label>
<label>
<input type="checkbox" value="Glavni projekt" name="dokument[]" > Glavni projekt </input>
</label>
<label>
<input type="checkbox" value="Izvedbeni projekt" name="dokument[]" > Izvedbeni projekt </input>
</label>
<label>
<input type="checkbox" value="Elaborat legalizacije" name="dokument[]" > Elaborat legalizacije </input>
</label>
<label>
<input type="checkbox" value="Elaborat etažiranja" name="dokument[]" > Elaborat etažiranja </input>
</label>
<label>
<input type="checkbox" value="Projekt preuređenja" name="dokument[]" > Projekt preuređenja </input>
</label>
<label>
<input type="checkbox" value="Završno izvješće nadzornog inženjera" name="dokument[]" > Završno izvješće nadzornog inženjera </input>
并将它们与此一起传递给PHP
var user_Docs = $("input:checkbox[name='dokument[]']:checked");
//data to be sent to server
post_data = {'name':user_Name, 'email':user_Email, 'telefon':user_Phone, 'objekt':user_Objekt, 'kvadratura':user_Kvadratura, 'god_izgradnje':user_Izgradnja, 'kat_cestica':user_Cestica, 'kat_opcina':user_Opcina, 'namjena':user_Namjena, 'napomena':user_Napomena, 'dokument[]':user_Docs};
这是我的Javascript
$(document).ready(function() {
$("#submit_btn").click(function() {
//get input field values
var user_Name = $('input[name=name]').val();
var user_Email = $('input[name=email]').val();
var user_Phone = $('input[name=telefon]').val();
var user_Objekt = $('input[name=objekt]').val();
var user_Kvadratura = $('input[name=kvadratura]').val();
var user_Izgradnja = $('input[name=god_izgradnje]').val();
var user_Cestica = $('input[name=kat_cestica]').val();
var user_Opcina = $('input[name=kat_opcina]').val();
var user_Namjena = $('input[name=namjena]').val();
var user_Napomena = $('textarea[name=napomena]').val();
var user_Docs = $("input:checkbox[name='dokument[]']:checked");
//simple validation at client's end
//we simply change border color to red if empty field using .css()
var proceed = true;
if(user_Name==""){
$('input[name=name]').css('border-color','red');
proceed = false;
}
if(user_Email==""){
$('input[name=email]').css('border-color','red');
proceed = false;
}
if(user_Phone=="") {
$('input[name=telefon]').css('border-color','red');
proceed = false;
}
if(user_Objekt=="") {
$('input[name=objekt]').css('border-color','red');
proceed = false;
}
if(user_Kvadratura=="") {
$('input[name=kvadratura]').css('border-color','red');
proceed = false;
}
if(user_Izgradnja=="") {
$('input[name=god_izgradnje]').css('border-color','red');
proceed = false;
}
if(user_Cestica=="") {
$('input[name=kat_cestica]').css('border-color','red');
proceed = false;
}
if(user_Opcina=="") {
$('input[name=kat_opcina]').css('border-color','red');
proceed = false;
}
if(user_Namjena=="") {
$('input[name=namjena]').css('border-color','red');
proceed = false;
}
/* if(user_Napomena=="") {
$('texarea[name=napomena]').css('border-color','red');
proceed = false;
} */
//everything looks good! proceed...
if(proceed)
{
//data to be sent to server
post_data = {'name':user_Name, 'email':user_Email, 'telefon':user_Phone, 'objekt':user_Objekt, 'kvadratura':user_Kvadratura, 'god_izgradnje':user_Izgradnja, 'kat_cestica':user_Cestica, 'kat_opcina':user_Opcina, 'namjena':user_Namjena, 'napomena':user_Napomena, 'dokument[]':user_Docs};
//Ajax post data to server
$.post('contact_me.php', post_data, function(response){
//load json data from server and output message
if(response.type == 'error')
{
output = '<div class="error">'+response.text+'</div>';
}else{
output = '<div class="success">'+response.text+'</div>';
//reset values in all input fields
$('#contact_form input').val('');
$('#contact_form textarea').val('');
}
$("#result").hide().html(output).slideDown();
}, 'json');
}
});
//reset previously set border colors and hide all message on .keyup()
$("#contact_form input, #contact_form textarea").keyup(function() {
$("#contact_form input, #contact_form textarea").css('border-color','');
$("#result").slideUp();
});
});
$(文档).ready(函数(){
$(“#提交”_btn”)。单击(函数(){
//获取输入字段值
var user_Name=$('input[Name=Name]')。val();
var user_Email=$('input[name=Email]')。val();
var user_Phone=$('input[name=telefon]').val();
var user_Objekt=$('input[name=Objekt]')。val();
var user_Kvadratura=$('input[name=Kvadratura]')。val();
var user_Izgradnja=$('input[name=god_izgradnje]')。val();
var user_Cestica=$('input[name=kat_Cestica]')。val();
var user_Opcina=$('input[name=kat_Opcina]')。val();
var user_Namjena=$('input[name=Namjena]')。val();
var user_Napomena=$('textarea[name=Napomena]')。val();
var user_Docs=$(“输入:复选框[name='dokument[]']:选中”);
//客户端的简单验证
//如果字段为空,我们只需使用.css()将边框颜色更改为红色
var=true;
如果(用户名==“”){
$('input[name=name]').css('border-color','red');
继续=错误;
}
如果(用户\电子邮件==“”){
$('input[name=email]').css('border-color','red');
继续=错误;
}
如果(用户电话==“”){
$('input[name=telefon]').css('border-color','red');
继续=错误;
}
如果(用户对象==“”){
$('input[name=objekt]').css('border-color','red');
继续=错误;
}
如果(用户_Kvadratura==“”){
$('input[name=kvadratura]')。css('border-color','red');
继续=错误;
}
如果(用户_Izgradnja==“”){
$('input[name=god_izgradnje]').css('border-color','red');
继续=错误;
}
如果(用户_Cestica==“”){
$('input[name=kat_cestica]').css('border-color','red');
继续=错误;
}
如果(用户_Opcina==“”){
$('input[name=kat_opcina]')。css('border-color','red');
继续=错误;
}
如果(用户_Namjena==“”){
$('input[name=namjena]').css('border-color','red');
继续=错误;
}
/*如果(用户_Napomena==“”){
$('texarea[name=napomena]')。css('border-color','red');
继续=错误;
} */
//一切看起来都很好!继续。。。
如果(继续)
{
//要发送到服务器的数据
post_data={'name':user_name,'email':user_email,'telefon':user_Phone,'objekt':user_objekt,'kvadratura':user_kvadratura,'god_izgradnje':user_Izgradnja,'kat_cestica':user_cestica,'kat_opcina':user_opcina,'namjena':user_namjena,'napomena,'napomena,'napomena':user_napomena,'dokument[]:user_Docs};
//Ajax将数据发布到服务器
$.post('contact_me.php',post_数据,函数(响应){
//从服务器加载json数据并输出消息
如果(response.type==“error”)
{
输出=''+响应。文本+'';
}否则{
输出=''+响应。文本+'';
//重置所有输入字段中的值
$('#联系形式输入').val('');
$(“#联系形式文本区域”).val(“”);
}
$(“#结果”).hide().html(输出).slideDown();
}“json”);
}
});
//重置以前设置的边框颜色并隐藏.keyup()上的所有消息
$(“#联系人表单输入,#联系人表单文本区域”).keyup(函数(){
$(“#联系人表单输入,#联系人表单文本区域”).css('border-color','');
$(“#结果”).slideUp();
});
});
这是我的PHP
<?php
if($_POST)
{
$to_Email = "bla@bla.com"; //Replace with recipient email address
$subject = 'Poruka'; //Subject line for emails
//check if its an ajax request, exit if not
if(!isset($_SERVER['HTTP_X_REQUESTED_WITH']) AND strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) != 'xmlhttprequest') {
//exit script outputting json data
$output = json_encode(
array(
'type'=>'error',
'text' => 'Request must come from Ajax'
));
die($output);
}
$user_Docs = '';
if(isset($_POST['dokument']) && is_array($_POST['dokument']) && count($_POST['dokument']) > 0){
$user_Docs = implode('|', $_POST['dokument']);
}
//check $_POST vars are set, exit if any missing
//if(!isset($_POST["name"]) || !isset($_POST["email"]) || !isset($_POST["telefon"]) || !isset($_POST["objekt"]))
//{
//$output = json_encode(array('type'=>'error', 'text' => 'Input fields are empty!'));
//die($output);
//}
//Sanitize input data using PHP filter_var().
$user_Name = filter_var($_POST["name"], FILTER_SANITIZE_STRING);
$user_Email = filter_var($_POST["email"], FILTER_SANITIZE_EMAIL);
$user_Phone = filter_var($_POST["telefon"], FILTER_SANITIZE_STRING);
$user_Objekt = filter_var($_POST["objekt"], FILTER_SANITIZE_STRING);
$user_Kvadratura = filter_var($_POST["kvadratura"], FILTER_SANITIZE_STRING);
$user_Izgradnja = filter_var($_POST["god_izgradnje"], FILTER_SANITIZE_STRING);
$user_Cestica = filter_var($_POST["kat_cestica"], FILTER_SANITIZE_STRING);
$user_Opcina = filter_var($_POST["kat_opcina"], FILTER_SANITIZE_STRING);
$user_Namjena = filter_var($_POST["namjena"], FILTER_SANITIZE_STRING);
$user_Napomena = filter_var($_POST["napomena"], FILTER_SANITIZE_STRING);
//additional php validation
if(strlen($user_Name)<4) // If length is less than 4 it will throw an HTTP error.
{
$output = json_encode(array('type'=>'error', 'text' => 'Name is too short or empty!'));
die($output);
}
if(!filter_var($user_Email, FILTER_VALIDATE_EMAIL)) //email validation
{
$output = json_encode(array('type'=>'error', 'text' => 'Please enter a valid email!'));
die($output);
}
if(!is_numeric($user_Phone)) //check entered data is numbers
{
$output = json_encode(array('type'=>'error', 'text' => 'Only numbers allowed in phone field'));
die($output);
}
if(strlen($user_Objekt)<3) //check emtpy message
{
$output = json_encode(array('type'=>'error', 'text' => 'Too short objekt! Please enter something.'));
die($output);
}
if(!is_numeric($user_Kvadratura)<0) //check emtpy message
{
$output = json_encode(array('type'=>'error', 'text' => 'Too short kvadratura! Please enter something.'));
die($output);
}
if(!is_numeric($user_Izgradnja)<0) //check emtpy message
{
$output = json_encode(array('type'=>'error', 'text' => 'Too short izgradnja! Please enter something.'));
die($output);
}
if(strlen($user_Cestica)<0) //check emtpy message
{
$output = json_encode(array('type'=>'error', 'text' => 'Too short cestica! Please enter something.'));
die($output);
}
if(strlen($user_Opcina)<0) //check emtpy message
{
$output = json_encode(array('type'=>'error', 'text' => 'Too short opcina! Please enter something.'));
die($output);
}
if(strlen($user_Namjena)<0) //check emtpy message
{
$output = json_encode(array('type'=>'error', 'text' => 'Too short namjena! Please enter something.'));
die($output);
}
/* if(strlen($user_Napomena)<0) //check emtpy message
{
$output = json_encode(array('type'=>'error', 'text' => 'Too short napomena! Please enter something.'));
die($output);
} */
// Construct email body
$body_message = 'Od: ' . $user_Name . "\r\n";
$body_message .= 'E-mail: ' . $user_Email . "\r\n";
$body_message .= 'Telefon: ' . $user_Phone . "\r\n";
$body_message .= 'Novi ili postojeći objekt: ' . $user_Objekt . "\r\n";
$body_message .= 'Kvadratni metri: ' . $user_Kvadratura . "\r\n";
$body_message .= 'Godina izgradnje: ' . $user_Izgradnja . "\r\n";
$body_message .= 'Kat. čestica: ' . $user_Cestica . "\r\n";
$body_message .= 'Kat. općina: ' . $user_Opcina . "\r\n";
$body_message .= 'Namjena: ' . $user_Namjena . "\r\n";
$body_message .= 'Napomena: ' . $user_Napomena . "\r\n";
$body_message .= 'Dodatni dokumenti: ' . $user_Docs . "\r\n";
$body_message .= 'Dodatni dokumenti: ' . $dokument . "\r\n";
//proceed with PHP email.
$headers = 'From: '.$user_Email.'' . "\r\n" .
'Reply-To: '.$user_Email.'' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
$sentMail = @mail($to_Email, $subject, $body_message .' -'.$user_Name, $headers);
if(!$sentMail)
{
$output = json_encode(array('type'=>'error', 'text' => 'Could not send mail! Please check your PHP mail configuration.'));
die($output);
}else{
$output = json_encode(array('type'=>'message', 'text' => 'Hi '.$user_Name .' Thank you for your email'));
die($output);
}
}
?>
“错误”,
“text'=>“请求必须来自Ajax”
));
模具(产量);
}
$user_Docs='';
如果(isset($\u POST['dokument'])和is_数组($\u POST['dokument'])和计数($\u POST['dokument'])大于0){
$user_Docs=内爆(“|”),$u POST['dokument'];
}
//检查是否设置了$\u POST变量,如果缺少,请退出
//如果(!isset($_POST[“name”])| |!isset($_POST[“email”])| |!isset($_POST[“telefon”])| |!isset($_POST[“objekt”]))
//{
//$output=json_encode(数组('type'=>'error','text'=>'输入字段为空!');
//模具(产量);
//}
//使用PHP filter_var()清理输入数据。
$user\u Name=filter\u var($\u POST[“Name”],filter\u SANITIZE\u字符串);
$user\u Email=filter\u var($\u POST[“Email”],filter\u SANITIZE\u Email);
$user\u Phone=filter\u var($\u POST[“telefon”],filter\u SANITIZE\u字符串);
$user\u Objekt=filter\u var($\u POST[“Objekt”],filter\u SANITIZE\u字符串);
$user\u Kvadratura=filter\u var($\u POST[“Kvadratura”],filter\u SANITIZE\u STRING);
$user\u Izgradnja=filter\u var($\u POST[“god\u izgradnje”],filter\u SANITIZE\u STRING);
$user_Cestica=filter_var($_POST[“kat_Cestica”],filter_SANITIZE_STRING);
$user\u Opcina=filter\u var($\u POST[“kat\u Opcina”],filter\u SANITIZE\u STRING);
$user\u Namjena=filter\u var($\u POST[“Namjena”],filter\u SANITIZE\u STRING);
$user\u Napomena=filter\u var($\u POST[“Napomena”],filter\u SANITIZE\u STRING);
//附加php验证
如果(strlen($user_Name)“error”,“text”=>“Name太短或为空!”);
模具(产量);
}
如果(!filter\u var($user\u Email,filter\u VALIDATE\u Email))//电子邮件验证
{
$output=json_encode(数组('type'=>'error','text'=>'请输入有效的电子邮件!'));
模具(产量);
}
如果(!is_numeric($user_Phone))//检查输入的数据是否为数字
{
$output=json_encode(数组('type'=>'error','text'=>'仅允许电话字段中的数字');
模具(产量);
}
if(strlen($user_Objekt)'
$("#form").submit(function (event) {
console.log($(this).serializeArray());
event.preventDefault();
});