[英]Pass the value of checkbox via ajax, php, jquery
美好的一天。 伙計們,我有一個問題。 我需要通過ajax將復選框值發送到php文件
我的問題是,無論是否檢查,我都希望在兩種情況下都傳遞值。 如果選中,則應傳遞value="true"
;如果不選中,則應僅傳遞內容中的值。 通過ajax jquery
注意
我知道應該使用if condition
更新jquery(AJAX)文件中的代碼,但我不知道該怎么做
更新 -----
我已經按照以下答案解決了檢查條件的問題
但
在wallajax.php文件中,當我使用if(isset($_POST["content"]))
我通過ajax獲取內容的值,並且還在頁面中重現其值
但是,當我使用if(isset($_POST["content"]) && isset($_POST["check"]) )
未檢索到任何值,因此頁面上未顯示任何返回值
我不明白,問題出在哪里,它在ajax腳本還是wallajax.php文件上
我的代碼。
<script type="text/javascript">
$(function() {
$("#px").click(function() {
var status2 = $("#status2").val();
var checkit= $("#checkit").is(':checked');
var dataString = 'content=' + status2 + '&check=' + checkit;
$.ajax({
type: "POST",
url: "wallajax.php",
data: dataString,
cache: false,
success: function(resol) {
$('#wallposts').prepend(resol);
console.log(resol)
}
}); return false;
});
});
</script>
wallajax.php
if(isset($_POST["content"]) && isset($_POST["check"]) )
{
---fetched value------feed value in databse------
}
index.php
<textarea name="content" id="status2"></textarea>
<input name="check" id="checkit" type="checkbox" value="true">check it</input>
<div id="px">Post</div>
代替
$("#checkit").val();
采用
$("#checkit").prop('checked');
要么
$("#checkit").is(':checked');
我會建議
var data = {'content': status2, 'check': checkit};
代替
var dataString = 'content=' + status2 + '&check=' + checkit;
您有兩個問題,您的dataString變量之間不包含“&”,並且復選框值未正確捕獲,下面修復了兩個問題:
<script type="text/javascript">
$(function() {
$("#px").click(function() {
var status2 = $("#status2").val();
var checkit= $("#checkit").prop('checked');
var dataString = 'content=' + status2 + '&check=' + checkit;
$.ajax({
type: "POST",
url: "wallajax.php",
data: dataString,
cache: false,
success: function(resol) {
$('#wallposts').prepend(resol);
console.log(resol)
}
}); return false;
});
});
</script>
php還有一個問題,當您以這種方式准備dataString時,您顯式地“設置”變量,因此
isset($_POST['check']) && isset($_POST['content'])
總是會返回true,因此獲取數據的更好的方法是在表單上使用jquery的.serialize()方法,盡管我在您的html中看不到form元素,但我假設有一個
var dataString = $('yourForm').serialize();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.