フォームプラグインと組み合わせてjQueryを使用していますが、送信前にフォームデータをインターセプトして、変更を加えたいと考えています。
フォームプラグインには、これを実行するbeforeSubmitというプロパティがありますが、指定した関数を実行するのに問題があるようです。
フォームのマークアップは次のとおりです(一部のスタイルの詳細は省略されています)。
<form id="form1">
<fieldset id="login">
<legend>Please Log In</legend>
<label for="txtLogin">Login</label>
<input id="txtLogin" type="text" />
<label for="txtPassword">Password</label>
<input id="txtPassword" type="password" />
<button type="submit" id="btnLogin">Log In</button>
</fieldset>
</form>
そして、これが私がこれまでに持っているjavascriptです:
$(document).ready(function() {
var options = {
method: 'post',
url: 'Login.aspx',
beforeSubmit: function(formData, form, options) {
$.each(formData, function() { log.info(this.value); });
return true;
}
};
$('form#form1').ajaxForm(options);
});
(log.info()は、私が使用しているBlackbirdデバッガライブラリからのものです)
送信ボタンをクリックすると、指定したPOST動詞ではなく、代わりにGETが使用され、beforeSubmit関数から何もログに記録されません。ajaxFormプラグインがフォームにまったく適用されていないようですが、理由はわかりません。誰かがこれを手伝ってくれる?