2016-10-06 59 views
-1

任何時候我嘗試使用ajax發佈數據到php頁面,複選框值是恆定的,如果選中或不使用腳本1(見下文)。如果沒有選中,我不想將複選框中的任何值傳遞給php頁面,這是我在腳本2中完成的(參見下文)。我現在想要做的是使用一個JavaScript AJAX後代碼來處理複選框和文本字段傳遞數據到PHP頁面,沒有值的複選框沒有選中。感謝我的任何幫助正試圖結合複選框ajax發佈數據和文本字段發佈數據在一個代碼

HTML

<form action="altupdatenew" method="POST" class="alt"> 
<input type="checkbox" class="p_name" name="p_name" value="1" /> Checkbox 1 <br /> 
<input type="checkbox" class="s_name" name="s_name" value="1"> Checkbox 2 <br /> 
<input type="text" name="custome_text" class="form-control" placeholder="text" value=""> text field <br /> 

的javascript 1

$('form.alt').on('submit', function(){ 

var that = $(this), 
    url = that.attr('action'), 
    type = that.attr('method'), 
    data = {}; 

//console.log(that.find('input')) 

that.find('input[name]').each(function(index, value){ 
    //console.log(value); 
     var that = $(this), 
      name = that.attr('name'), 
      value = that.val(); 

     data[name] = value; 
     //console.log(value); 


}); 

$.ajax({ 
    url: url, 
    type: type, 
    data: data, 
    success: function(respones){ 
     console.log(respones); 
     $.notify({ 
      icon: 'pe-7s-angle-up-circle', 
      message: "Test <b> Notification </b> Updated" 

     },{ 
      type: 'info', 
      timer: 4000 
     }); 
    } 

}); 

return false; 

})心存感激;

的JavaScript 2

$('form.alt').on('submit', function(){ 

    data = {}; 

    var that; 
    var that1; 
    $('.p_name').each(function(){ 
     if($(this).is(":checked")) 
     { 
       that = $(this).val(); 
     } 
    }); 

    $('.s_name').each(function(){ 
     if($(this).is(":checked")) 
     { 
       that1 = $(this).val(); 
     } 
    }); 
    data = [that,that1]; 




    $.ajax({ 
      url:"altupdatenew_PS", 
      method:"POST", 
      data:{p_one:that,s_one:that1}, 
      success: function(respones){ 
       console.log(respones); 
      } 
     }); 

    console.log(data); 

    return false; 
}); 
+1

你需要什麼? 你的問題不清楚... !!! – anuraj

+0

我剛剛重寫了我的問題,謝謝 – adjoke

回答

0

使用:checked選擇器選擇的元素已檢查,看看有多少複選框被選中。

匹配所有檢查或選擇的元素。

function postValue(){ 
    //If 1 or more checked 
} 

function postNull(){ 
    //If not checked 
} 

$('form.alt').on('submit',function(e){ 
    if($('.alt input[type=checkbox]:checked').length > 0){ 
    postValue(); 
    }else{ 
    postNull(); 
    } 
    return false; 
}