2013-09-23 88 views
0

我正在學習javascript,但我仍然沒有看到本書的章節可以回答我的問題,所以如果有人能讓我走上正軌,我將非常感激。如何用一個javascript函數管理兩種形式?

這裏的情況是:

我使用jQuery提交表單。然而,我需要把兩種形式(同類,但指的是不同的對象),我想使用相同的jQuery功能來提交我選擇的。

這是jQuery函數:

<script type="text/javascript" src="jquery.min.js"></script> 
<script type="text/javascript"> 
$(function(){ 
$(".submit").click(function(){ 
    var name = $("#student").val(); 
    var mark = $("#mark").val(); 
    var dataString = 'student='+ student + '&mark=' + mark; 

    $.ajax 
    ({ 
     type: "POST", 
     url: "records.php", 
     data: dataString, 
     success: function() 
     { 
      $('.success').fadeIn(200).show(); 
     $('.error').fadeOut(200).hide(); 
     } 
    }); 

    return false; 
}); 
}); 
</script> 

這些都是我想傳遞給取決於一個我點擊上面的函數形式。

<form method="post" name="form"> 
<input type="hidden" id="student" name="student" value="Mandy" > 
Mark: <input size="2" id="mark" name="mark" value="1" type="text"> 
<input type="submit" value="Submit" class="submit"/> 
</form> 

<form method="post" name="form"> 
<input type="hidden" id="student" name="student" value="Fred" > 
Mark: <input size="2" id="mark" name="mark" value="1" type="text"> 
<input type="submit" value="Submit" class="submit"/> 
</form> 

感謝

+5

您有重複的ID,這是會導致問題。 ID的**必須是唯一的! – tymeJV

+0

你的問題是什麼?有沒有工作,而不是工作等? – Neal

回答

0

嗯,第一件事的第一個 - 你會在頁面上相同的ID對一事無成。改變studentmark的類ID用(不必須是唯一的):

​​

然後jQuery是很簡單 - 找到最近的形式,並尋求通過班級學生和標誌(作用域爲形式):

$(".submit").click(function(){ 
    var $form = $(this).closest('form'); 
    var student = $(".student", $form).val(); 
    var mark = $(".mark", $form).val(); 
    var dataString = 'student='+ student + '&mark=' + mark; 

    $.ajax 
    ({ 
     type: "POST", 
     url: "records.php", 
     data: dataString, 
     success: function() 
     { 
      $('.success').fadeIn(200).show(); 
     $('.error').fadeOut(200).hide(); 
     } 
    }); 

    return false; 
}); 

活生生的例子:http://jsfiddle.net/6Lc8R/

+0

太棒了!非常感謝Jamiec! – user2807755