どの送信ボタンが押されたかに応じて、2 つの別々の関数を起動しようとしています。「submit1」をクリックするとコンソールログに「openMailer_1」が表示されますが、「submit2」をクリックすると「openMailer_2」ではなく「openMailer_1」が再び表示されます。ここで何が間違っていたのか分かりますか?
$('*[id^=submit]').live('click', function() {
var id = $(this).attr('id').slice(-1);
console.log(id);
$('#result_form').validate({
invalidHandler: function(form) {
//
},
submitHandler: function(form) {
openMailer['openMailer_' + id]();
}
});
});
var openMailer = {
openMailer_1: function() {
console.log('openMailer_1');
},
openMailer_2: function() {
console.log('openMailer_2');
}
}
<form id="result_form" action="" method="post">
<input type="submit" name="btn_send" id="submit1" value="submit1" />
<input type="submit" name="btn_send" id="submit2" value="submit2" />
</form>