ユーザーデータの編集機能を提供するために、モーダルウィンドウ(Fancybox)でAJAXとフォームを使用するアプリケーションがあります。
edit.php という別のファイルにフォームを設定しました。
<form action="services/update/7" method="post" id="update-form">
<label>Update the name of this upload</label>
<input type="text" name="dataname" value="Test Data" />
<label>Select the theme of this upload</label>
<select>
<option value="All">All Themes</option>
<option value="1">Example Theme 1</option>
<option value="2">Example Theme 2</option>
<option value="3">Example Theme 3</option>
</select>
<input type="submit" name="submit" value="Save Changes" />
</form>
リンク付きのメインページがあります:
<a href="services/edit/7" id="edit-data">Edit</a>
jQuery を使用してイベントを要素にバインドします。
$("#edit-data").on("click", function(event))
{
$.fancybox({
'type': 'ajax',
'content': $(this).attr('href')
});
event.preventDefault ? event.preventDefault() : event.returnValue = false;
});
フォーム内の送信ボタンに最終バインディングがあります。
$("#update-form input[type='submit']").on("click", function(event))
{
alert("clicked");
event.preventDefault ? event.preventDefault() : event.returnValue = false;
});
テスト用に最後のクリック イベントに単純な警告ボックスを追加しましたが、発生しません。
何かご意見は?
ありがとう