フォームにAJAXを使用してデータを保存してファイルにロードする必要があるページがあります。タグ Jquery&Ajax - ajaxリクエスト後にフォームにサブミットできません
第二の機能でクラス.configFileは、タグのリストを参照するための
$(document).ready(function(){
$("#saveConfigForm").submit(function (e)
{
e.preventDefault();
var formData = $(this).serialize();
alert(formData);
});
$(".configFile").click(function() {
if (this.text == '' && this.text == 'undefined')
{
return;
}
$.get("showForm.php", { loadConfig: this.text})
.done(function(data) {
$('#configFormContainer').html(data);
});
});
HTML:
はJavaScript
は、これは私が使用していたJavaスクリプトです。これらをクリックすると、スクリプトはファイルからコンテンツを正常に読み込んで表示します。
<div class="list-group">
<a href="#" class="configFile>config.json</a>
<a href="#" class="configFile>config_1504987517.json</a>
</div>
この部分は正常に動作している:これは言及-タグ用のHTMLでのJavaScript機能がトリガされます。 showForm.phpでは、設定ファイルが読み込まれます。ファイルからのコンテンツを含む完全なフォームを再構築しています。実際に動作していないいただきましフォーム
ため
HTMLを提出し、機能上のトリガーです。私が最初にページをロードすると
、私が提出-ボタンをクリックし、アラートを取得する:これは問題
だから、今起こっていただきましいただきましフォームのHTML
<form id="saveConfigForm" method="POST">
<a bunch of form elements />
<button name="submit" class="btn btn-success" type="submit" id="saveConfig">Speichern</button>
</form>
です。このトリガ.submit()が機能しています。
コンフィギュレーションファイルをロードするためにaタグの1つをクリックすると、ファイルはページをリフレッシュせずにロードされています。このトリガーの.click()も機能しています。
の後に:送信ボタンをクリックすると、ページがリロードされています。トリガー.submit()が機能していません。
ページのこの「不要な」リロードの後に、.submit() - トリガーが再び機能しています。
私はそれが間違っているか何かを知りません。これはあなたの全体のコードセットではありませんが、誰かが
歓声
PS () '(https://api.jquery.com/jquery.get/)や' .load() 'のようなAJAXの処理には? –
@ RokoC.Buljan良いアイデアは、これを変更します。 jQuery関連ではない別のチュートリアルからこれを手に入れました。ありがとう。 –
'.get()'を実装しているときに 'Event.preventDefault'を見て、新しく生成された要素をクリックするようにするにはjQueryの' .on() 'を見て、**動的イベントの委譲についてのセクションを必ず読んでください**。 –