1

最近、JQuery と AJAX を使い始めました。フォームの送信時に JQuery を使用してフォームの値を取得し、AJAX を使用して PHP スクリプトでデータを処理する練習をしています。つまり、ページに別のフォームを追加するまでは、すべてうまく機能します。どのフォームを送信しても、ページの最初のフォームのデータが送信されます。送信されているフォームからフォームと値のみを選択するにはどうすればよいですか?

これが私のコードです:

<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> 

ありがとう!

4

1 に答える 1

3

css セレクターの使い方を知っていますか? css セレクターを jquery セレクターとして使用できます。つまり、各フォームに id 属性を指定すると、後で次のように選択できます。

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

フォーム ID は、このように、フォーム用に選択した html 属性です。

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

php を使用して、異なるフォーム ID を設定するだけです

また、考えられるほとんどすべての css セレクターを使用できることに注意してください。また、jquery 固有のセレクターも使用できます。ここで見ることができます。

基本的なセレクターの使用方法がわからない場合は、このガイドを使用してください。

動的に作成されたフォーム (コメントしたように) を選択する場合、実装は、フォームを追加する方法と、フォームをキャプチャする必要がある方法によって異なります。php を使用して、動的に異なる ID を与えることができます (たとえば、カウンターを使用します)。

また、いくつかの要素が存在する場合、jquery セレクターを使用して最初または最後の要素 (またはその他の要素) を選択できます。:last セレクターをチェックしてください:

$('form :last').serialize().submit()
于 2013-07-07T21:02:41.610 に答える