2012-01-15 13 views
0

私は動的に生成されたコメントフォームのページを持っていますが、フォームを送信するのにjQueryの$("form").submit(function() {を使用しています。コメントフォームと競合する検索フォームjQueryスクリプト

コメントシステムでうまく動作しますが、検索フォームなどの他のフォームを取得して、検索ページにユーザーを送信するデフォルトの操作を実行したいサーチ。

このスクリプトを保存しますが、検索フォームが$("form").submit機能によって把握されないように変更するにはどうすればよいですか?

+3

ここで人々があなたを助けることができるようにいくつかのコードを共有することができます – Shyju

+1

野生の推測では、検索フォームまたはコメントフォームのいずれかにクラスがあるはずですので、セレクタを '$(" form:not (.searchformclass) ")'または '$(" form.commentform ")'となります。また、submit関数の中でフォームを参照するときは必ず、それを '$(this)'と呼んでください。 – ClarkeyBoy

+0

その$( "form:not(.searchformclass)")は完全に機能しました。乾杯! notパラメータに複数のクラスを追加できますか? – Mike

答えて

0

セレクタあなたが言及:

$("form") 

は、ページ上のすべてのフォーム要素を選択します。あなたがする必要があるのは、idやクラスのようなより具体的なセレクタを使うことです。

<form class="commentform"></form> 

<form class="commentform"></form> 

<form id="searchform"></form> 

<script> 
$("form.commentform").submit(function() { 
    // the same handler will apply to all commentform forms, but 
    // the keyword 'this' will reference the particular form that 
    // triggered the event 
}); 

$("#searchform").submit(function() { }); 
</script> 

(検索フォームのために、私はidで選択する例を与えてくれたところ。)

さらに読書:

+0

何らかの理由で$( "form.commentform")の方法が機能しませんでしたが、$( "form:not(.searchformclass)")が何らかの理由でヘイnnnnnnしました。私は両方の方法が正しいので、なぜ説明がないのですか。しかし$( "form:not(.searchformclass)")は私の問題を解決しました。みんな助けてくれてありがとう。 – Mike

+0

こんにちはマイク。私の答えに示されているように、実際にそれらのクラスをあなたのフォームに持っていればどちらの方法でも動作するはずです。 (あなたの質問にはHTMLやクラスの情報は表示されませんでしたので、例を挙げました) – nnnnnn

関連する問題