我有一個頁面有三個複選框選項。我想用這三個複選框作爲數據過濾器。如果用戶手動提交表單,我有三個複選框過濾。試圖讓阿賈克斯呼叫工作
我想刪除提交按鈕,所以無論何時用戶選擇我的表單中的一個選項,選項都會發送到ajax。目前,我的代碼只發送最後一個複選框,因爲我在搜索中找到了這個值。我不太確定我是如何循環瀏覽表格中的所有選中框併發送。我遇到的第二件事是fetch.php是一個'安全'頁面,只有連接到數據庫才能檢索數據,如果在會話變量中正確設置了某個用戶名和密碼。如果我使用ajax調用獲取頁面,我認爲它將它視爲訪問客戶端範圍之外的此頁面,即即使用戶從調用ajax的頁面登錄,會話變量也不會通過憑據。那是對的嗎?爲了糾正這一點,我試圖通過數據線通過用戶名密碼,我有我的數據線設置正確的多個參數?
<form id="form">
<div class="filterblock">
<input id="check1" type="checkbox" name="search[]" value="Cars" class="category">
<label for="check1">Cars</label>
</div>
<div class="filterblock">
<input id="check2" type="checkbox" name="search[]" value="Trucks" class="category">
<label for="check2">Trucks</label>
</div>
<div class="filterblock">
<input id="check3" type="checkbox" name="search[]" value="Bikes" class="category">
<label for="check3">Bikes</label>
</div>
<input id="submit" type="submit" name="submit" value="Submit" onclick="submitForm()" />
</form>
AJAX調用
$('.category').change(function() {
var user = <?php echo $_SESSION['login']['logged_username'] ;?>;
var pass = <?php echo $_SESSION['login']['logged_password'] ;?>;
$.ajax({
url: fetch.php',
type: 'POST',
data: {search: this.value, user: user, pass: pass},
dataType:'html',
success:function(data)
{
$('#result').html(data);
}
});
});
兩件事。你使用複選框(多選)代替單選按鈕嗎? (單選)。另外,這個'<?php echo $ _SESSION ['login'] ['logged_username'];?>'將會失敗,因爲您需要將它用引號引起來供Javascript使用。 –
是的,我使用複選框進行多選。我在我的fetch.php頁面的查詢中處理了多個選擇。 – JK36