[英]How can I get a POST value from a checkbox that appeared on a form after an AJAX query?
index.php有幾個字段,其中一個是名為item_A的下拉列表。 如果用戶在item_A中選擇某個值,則AJAX將導致一個選中的復選框出現在index.php的表單上。 復選框的名稱是check_A 。
但是,當從index.php的POST讀取值時,不存在來自復選框的值。 如何獲得此類復選框的價值?
這是index.php的HEAD標簽之間的AJAX代碼:
<script type="text/javascript">
$(document).ready(function() {
$('#item_A').blur(function(){
$.post("process_A.php", {
bookid: $('#bookid').val()
}, function(response){
$('#usernameResult').fadeOut();
setTimeout("finishAjax('usernameResult', '"+escape(response)+"')", 400);
});
return false;
});
});
這是process_A.php的代碼行,其中顯示了index.php上的復選框:
echo "<input type=\"checkbox\" name=\"check_A\" checked> I would like Option A.";
這是FORM標記之間index.php的區域,其中出現了復選框:
<span id="usernameResult" style="color:green;"></span>
我將需要查看DOM代碼,但是從本質上講,如果將元素添加到標記中的DOM中(通過PHP或AJAX),並且在語法上有效,那么它將在提交時顯示在POST標頭中。 您可以在選擇的瀏覽器中使用開發工具手動添加一個復選框,並且該值仍會發布,因為服務器不具備提交請求的頁面DOM的先驗知識。 服務器信任瀏覽器正在發送有效的相關信息。 如果發布DOM(文檔對象模型-頁面加載並添加所有值后的原始HTML頁面),那么我可能可以提供更多幫助。
如果在初始頁面加載后將元素動態添加到DOM,則它們的工作原理相同。 選中此復選框時,要記住兩件事:
您正在尋找的是.find()
jQUery僅在加載DOM(瀏覽器)時才能獲取可用的內容。 看到您要通過AJAX拉入一個復選框時,您將必須獲得將復選框放入其中的容器
例如
$('.container').find('.inner-box input[type="checkbox"]').val()
此后,如果尚未通過,我會將值添加到隱藏字段中。 盡管我不清楚您是要提交數據,然后填充字段,還是要輸入復選框,然后提交表單
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.