2014-03-06 91 views
1

我有波紋管「HTML」代碼:如何獲得提交表單的輸入值

<div class="userbox" id="'.$data[0]->id.'"> 
    <form action="schedule.php?page=management&ajax=true" method="post"> 
     <input type="hidden" name="id" value="'. $data[0]->id .'" class="id"> 
     <input type="submit" name="remove_entry" value="x" class="ajax_btn"> 
    </form> 
</div> 

而且波紋管JS代碼:

$(document).ready(
function() { 

    $('.userbox form').on('submit', function(ev) { 

     ev.preventDefault(); 


     var idVal = $('.id').val(); 

     alert(idVal); 

     $.post("schedule.php?page=management&ajax=true", { id : idVal }, function (data) { 
      $("#" + idVal + ".userbox").remove(); 
      $("#" + idVal + ".user_data").css('background-color', '#FFFFFF'); 

     } 
    ); 

    }); 

}); 

我想獲得的價值從表單中提取id(考慮到頁面上有多種表單),但它是在頁面上抓取第一個id,而不是提交表單中的第一個id。你們有什麼建議嗎?

+1

而不只是'$ .val',你(ID)。 '需要根據WHICH形式進行提交搜索,所以'$(this).find('。id')。val()'可能會做到這一點。 –

+0

你的ids是獨特的形式之一,還是他們重複?另外,你爲什麼在提交中編碼項目;爲什麼不把這些值放在隱藏字段中呢? –

+0

所有的id都是唯一的,就像'ajax'GET變量一樣,它只是用來檢查php頁面是否通過'ajax'訪問。馬克的建議效果很好。謝謝一堆! – user3255543

回答

1

您使用的查詢選擇器($('.id'))正在搜索整個文檔中具有「id」類的節點,並且不限於提交的表單。

嘗試定義你的範圍和搜索裏面是這樣的:

$('.userbox form').on('submit', function(ev) { 
    var scope = $(this); 

    var idVal = scope.find('.id').val(); 
    // .... 
} 
1

您可以通過它的名稱來選擇輸入

var idVal = $(this).find("input[name*='id']").val(); 
相關問題