次のコードを使用して、フォームの送信ボタンにイベントをアタッチしています。
$('form.manage-users-form').on('click','button.special',function() {
if ($(this).hasClass('selected')){
console.log('This user is already special');
} else {
$(this).parent().find('button').removeClass('selected');
$(this).addClass('selected');
var user_id = $(this).closest("form[id]").val();
console.log('This user is now special');
console.log(user_id);
}
return false;
});
また、フォームのIDも取得しようとしていることがわかりますが、コンソールを確認すると(an empty string)
。なぜそれがあり、フォームのIDを適切に取得するにはどうすればよいですか?
代わりにこれを試してください。ページに単一のフォームがあると仮定します。
var formid = $('form').attr('id');
あなたを助けるでしょう。
以下を試してください:
var user_id = $(this).closest("form").attr("id");
これをテストしたらすぐに編集を加えて戻ってきます。