0

フォームの送信にAjaxを使用する場合、複数のフォームが同じIDを共有できますか?次のように。

HTML:

<form id="myForm" action="/form" method="post"> 
  Phone: <input type="text" name="phone" /> 
  <input type="submit" value="Submit" /> 
</form>
...
<form id="myForm" action="/form" method="post"> 
  Name: <input type="text" name="name" /> 
  Comment: <textarea name="comment"></textarea> 
  <input type="submit" value="Submit Comment" /> 
</form>

脚本:

<script> 
    // wait for the DOM to be loaded 
    $(document).ready(function() { 
        // bind 'myForm' and provide a simple callback function 
        $('#myForm').ajaxForm(function() { 
            alert("Thank you for your comment!"); 
        }); 
    }); 
</script> 
4

3 に答える 3

1

いいえ: 一般原則として、一連の要素をグループ化するために同じ用語を使用する場合は常に、クラス名を使用する必要があります。

<form class="myForm" action="/form" method="post"> 
  Phone: <input type="text" name="phone" /> 
  <input type="submit" value="Submit" /> 
</form>
...
<form class="myForm" action="/form" method="post"> 
  Name: <input type="text" name="name" /> 
  Comment: <textarea name="comment"></textarea> 
  <input type="submit" value="Submit Comment" /> 
</form>

あなたのJSは次のようになります。

$(document).ready(function() { 
    // bind 'myForm' and provide a simple callback function 
    $('.myForm').ajaxForm(function() { 
        alert("Thank you for your comment!"); 
    }); 
}); 
于 2012-12-14T15:27:18.400 に答える
0

同じ ID を使用することはお勧めしません。同様のものが必要な場合は、同じ (css) クラスを使用する方がよいと思います。

ID が繰り返されると、複数の問題が発生します。

于 2012-12-14T15:28:28.520 に答える
0

同じ ID、ピリオドを持つ HTML 要素を複数持つことはできません。

代わりに、 を使用する必要がありますclas=""

于 2012-12-14T15:27:26.047 に答える