2013-07-07 84 views
1

我剛剛開始使用JQuery和AJAX。我正在練習使用JQuery在表單提交時使用表單值,並使用AJAX通過PHP腳本處理數據。這一切都非常好,也就是說,直到我在頁面中添加另一個表單。無論我提交什麼表單,都會提交頁面上第一個表單的數據。我如何才能從正在提交的表單中選擇表單和值?用JQuery選擇正確的元素

這裏是我的代碼:

<html> 

<head> 
<title> JQUERY and AJAX </title> 
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script> 

<!-- JQUERY script to submit the form without page refresh !--> 
<script> 
$(document).ready(function() { 

    $("form").submit(function() { 

     var name = $("input#name").val(); 

     var dataString = 'name='+ name; 
     $.ajax({ 
      type: "POST", 
      url: "ajax_submit.php", 
      data: dataString,      
     }); 

     $("input#name").val("");    

     return false; 

    }); 
}); 
</script> 

</head> 

<body> 

<form name="form" action=""/> 
    <input type="text" name="name" id="name" autocomplete="off"/> 
    <input type="submit" name="submit" id="submit"/> 
</form> 

<form name="form" action=""/> 
    <input type="text" name="name" id="name" autocomplete="off"/> 
    <input type="submit" name="submit" id="submit"/> 
</form> 

</body> 

</html> 

謝謝!

+3

給各自形成一個唯一的ID,然後使用該 – 2013-07-07 20:56:11

+0

至於你的功能性學習的一個小竅門:使用.serialize()當您希望通過AJAX提交表單。它會爲你節省很多時間。 – Cedric

回答

3

你知道如何使用CSS選擇器嗎?你可以使用css選擇器作爲jquery選擇器。也就是說,如果你給各自形成一個id屬性,你可以在以後類似這樣的選擇呢:

$('#the_forms_id').submit(); 

哪裏形式ID是HTML屬性您選擇的形式,這樣

<form name="form" action="" id = "the_forms_id"/> 

只需使用PHP設置不同的表單ID的

此外,請注意你幾乎可以使用任何你能想到的CSS選擇器,以及jQuery特定的選擇器。你可以看到他們here

如果您不知道如何使用基本選擇器,請使用this指南。

如果你想選擇一個動態創建的表單(如你所評論的), 實現取決於添加表單的方式以及需要如何捕獲表單。 你可以使用php來動態給它們不同的id(例如使用一個計數器)。另外,當存在少量元素時,可以使用jquery選擇器來選擇第一個或最後一個元素(或任何其他元素)。退房the :last selector

$('form :last').serialize().submit() 
+0

我知道如何使用選擇器。但是如果選擇器是動態的,那麼我該如何編寫我的JQuery選擇器?謝謝 – user2320500

+0

編輯答案,希望這有助於,也檢查鏈接到jQuery選擇器列表,我相信你會發現那裏你需要一個確切的。 – Skarlinski