送信する前に、送信するフォームのハンドルを取得したいのですが。
- ページに複数のフォームがある場合があります
- フォーム名/IDがわかりません
理由:フォームがテンプレートレベルで送信される前に、いくつかのtweekingを実行したいと思います。
送信する前に、送信するフォームのハンドルを取得したいのですが。
理由:フォームがテンプレートレベルで送信される前に、いくつかのtweekingを実行したいと思います。
jQueryがなければ、次のようになります。
for (var i=0; i < document.forms.length; i++){
document.forms[i].onSubmit = function(){
// logic goes here;
// document.forms[i] is the instance of form
if (formIsHappy()){
return true; //form submits
}else{
return false; //prevents the submit
}
};
}
jQueryを使用すると、次のようになります。
$(function() {
$('form').submit(function() {
// the code goes here;
// variable `this` is an instance of form
alert($(this).className);
});
});
jQueryを使用する場合は、次のようなことを検討できます。
$("form").submit(function(e) {
console.log("Form ID that is being submit %s",$(this).attr("id"));
});
純粋なJavaScriptでは、document.getElementsByTagName( "form")を実行し、取得した配列をループすることで、同様のことができます。