私はAjax/XMLHttpRequest
を新しく理解しています。XMLHttpRequest/Ajaxリンクの実行場所
私は基本的に箱にツールを追加する目録プログラムに取り組んでいます。メインページ(たとえばMainPage.php
)には、ユーザーがツールに名前を入力してボックスに追加するためのテキストボックスがフォーム内にあります。私はMySQL
LIKE
の構文でMySQL
データベースのツールを検索するのにXMLHttpRequest
と遊んでいます。ハンドラページ(HandlerPage.php
)には、SQL
を使用してツールを検索するコードがあります。検索結果はメインページのHTML DIVに表示されます。それは素晴らしい...
検索結果はフォームに包まれ、リンクとして表示されます。このラッパー関数の場所がHandlerPage.php
である:
function createLink($pri_key,$button_name,$file_to_call, $other){
$html_str = "<form id='tool_form' action='".$file_to_call."' method='post'>";
$html_str .= "<input style='display:none;' name='prikey' type='text' value='".$pri_key."' >";
$html_str .= "<input style='display:none;' name='compt_prikey' type='text' value='".$other."' >";
$html_str .= "<input id='view_button' type='submit' value='".$button_name."' class='no_button'>";
$html_str .= "</form>";
return $html_str;
}
リンク上click
へのユーザのために待機しているJQuery
イベントハンドラがあります。ただし、このイベントハンドラは決して呼び出されません。 フォームは送信されますが、イベントハンドラは呼び出されません。は、フォームが送信され
$("#tool_form").submit(function(){
//some code
return true;
});
、またはより良いまだ(また、別のフォームとイベントハンドラ、期待通りに機能しMainPage.php
にコーディングの両方が。あり)、どのページにイベントがトリガされますか?にHandlerPage.php
またはMainPage.php
?私はそれがHandlerPage.php
でトリガーされていると仮定していますが、私は理由を理解できません....
また、同じ質問で複数の検索結果に問題がありますか?代わりにクラスでイベントハンドラを使用する必要がありますか?
'submit'をクリックしてフォームを送信した場所は' method'で指定された 'method'を使用します。' post'は 'action'で指定された場所に移動します。 evを使用して送信ボタン'submit'ハンドラで' preventDefault'メソッドを呼び出す –
フォームへの入力が隠されています。フォームの入力「ボタン」は、CSSで標準的なリンクのようにスタイルされています...実際にはフォームを送信しているときにリンクをクリックしていると思います。私が抱えている問題は、フォームが送信されたときに適切なイベントがトリガーされないが、動的HTMLコードに対してイベントを正しく設定していないためです。 – devo96