Get the ID of a form?

Roland picture Roland · Mar 13, 2012 · Viewed 58.8k times · Source

I'm using the following code to attach an event to the submit button of a form :

$('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;
});

And you can see that I'm also trying to get the id of the form, but when I check the console I get (an empty string). Why is that and how can I properly get the ID of the form ?

Answer

vdeantoni picture vdeantoni · Mar 13, 2012

Have you tried?

var user_id = $(this).closest("form").attr('id');

The id of the element is an attribute, you can extract any attribute (including the id) using .attr().

.val() is used to extract the value of the element, which makes no sense in a form.

More Info:

.val()
.attr()