PHP/JavaScript で開発されたこの小さなタブ付きシステムがあります。
フォーム送信の場合は、JQuery 関数を「submit」イベントにバインドして、Ajax クエリをサーバーに送信し、ページのリロードを回避します (そして他のタブが失われます)。すべてのフォームに対して 1 つの関数をコーディングしましたが、それらが同じであることに気付きました (入力を受け取り、Ajax クエリを送信し、返されたメッセージを表示します)。そのため、各フォームを定義する引数を持つ一般的な jquery 関数を作成することにしました)。
私はこの機能を持っています:
function submit_search(entity){
$('#'+entity.name+'_searchform').submit(function(){
var url = public_path+entity.name+'/search';
var key = $('#'+entity.name+'_search_key').val();
$.ajax({
type: 'POST',
url: url,
data: {search_key: key},
success: entity.submit_search(result)
});
return false;
});
}
entity
エンティティの名前と実行したい成功関数を持つ JS オブジェクトはどこにありますか。この関数は、メイン ページが読み込まれるときに 1 回読み込まれるスクリプトで記述されています。タブが読み込まれたらsubmit_search()
、実際のエンティティを呼び出すだけです。
これは私には論理的に思えます。しかし、うまくいきません。そして問題は、jquery が要素を認識しないことです。たとえば、 after var key = $('#'+entity.name+'_search_key').val();
、キーが null です。
私は何を間違っていますか?