2016-10-05 81 views
0

我使用的是表單驗證插件,並在我的js文件我有這個輸入和複選框值傳遞給JSON多個複選框分貝的插入使用JSON

$('form').submit(function(event) { 

    $('.form-group').removeClass('has-error'); // remove the error class 
    $('.help-block').remove(); // remove the error text 
    var chkbox = new Array(); 
    $('input:checked').each(function() { 
     chkbox.push(parseint($(this).val())); 
    }); 

    var formData = { 
     'company_name': $('input[name=company_name]').val(), 
    } 

    $.ajax({ 
     type: 'POST', // define the type of HTTP verb we want to use (POST for our form) 
     url: 'process.php', 
     data: formData,chbox, 
     dataType: 'json', 
     encode: true 
    }).done(function(data) { 
     console.log(data); 
     if (! data.success) { 
      if (data.errors.company_name) { 
       $('#company_name-group').addClass('has-error'); 
       $('#company_name-group').append('<div class="help-block">' + data.errors.company_name + '</div>'); 

然後在PHP

$errors   = array(); 
$data   = array(); 

       if (empty($_POST['company_name'])) 
        $errors['company_name'] = 'Company Name is required.'; 
       if (! empty($errors)) { 
        // if there are items in our errors array, return those errors 
        $data['success'] = false; 
        $data['errors'] = $errors; 
       } else { 
        $company_name=mysqli_real_escape_string($con,$_POST['company_name']); 
        $chkbox = $_POST['chkbox']; 
        $chkNew = ""; 
       foreach($chkbox as $chkNew1) 
       { 
        $chkNew .= $chkNew1 . ","; 
       } 

       $ins_query="insert into xxx(`company_name`,`Job`)values('company_name','$chkNew');" 
       retval = mysqli_query($con , $ins_query); 
       $data['success'] = true; 
       $data['message'] = 'Success!'; 
      } 
      echo json_encode($data); 

這工作完全正確的插入值的形式值數據庫值,但它停止在我的process.php文件,並沒有顯示頁面上的消息。當我從js文件中刪除chkbox形式驗證並顯示消息成功插入到數據庫的成功插入。

回答

1

$chkNew中的最後一個字符是,

您應該將其刪除。

嘗試foreach後補充一點:

$chkNew= trim($chkNew, ',');