0

私はとを持っていindex.phpますcontact.php

index.phpload()そのように使用します:$("#content").load("contact.php");そしてすべてが素晴らしいです...

私の問題は、にcontact.phpフォームがあり、フォームが送信されたときに関数を実行できないように見えることです。

index.phpにはjqueryがロードされています。この関数をreadyタグに出し入れしてみました:

function contact_submit(){
   alert('a');
}

contact.php:

<form .....
   <input onclick="contact_submit();"  ....

私は実験を続けており、contact.phpに関数を配置しましたが、それでも運がありません。contact.phpでjqueryを使用する場合は、そのページにjquery.jsを含める必要があることに気付きました(インデックスからjqueryを盗むことはありません)。

誰かが私が間違っていることを知っていますか、または私がloaded contact.phpでindex.phpの関数を使用する方法を知っていますか?私のコードがもっと必要な場合は私に知らせてください...

編集グローバル関数を.jsファイルに入れて、使用するすべてのページにロードする必要がありますか?基本的な質問のように聞こえload()ますが、インデックスページでJavascript関数を再利用しないでください。

4

2 に答える 2

2

イベントは乗車のために来るつもりはありません。index.phpに何かを追加するか、jQueryのgetScriptメソッドを使用する必要があります。index.phpに何かを置く場合は、jQueryのイベント委任を使用するだけです。

$('form').on('click','input',contact_submit);

それ以外の場合は、これをお勧めします:http: //api.jquery.com/jQuery.getScript/

于 2012-12-12T15:41:37.937 に答える
0

phpにバグがない場合は、イベントリスナーを追加し、すべてのDOM要素が読み込まれた後にコードを実行する必要があります。

これらのいくつかは次のとおりです。

  1. http://api.jquery.com/live/
  2. http://api.jquery.com/on/
  3. http://api.jquery.com/ready/

最初の2つは個々のページに適用され、3つ目はDOMに適用されます。

于 2012-12-12T15:41:17.310 に答える