Adi
Adi

Reputation: 4022

jquery if text input does *not* equal blank

I am trying to work out how to do something if a certain text box is not empty (i.e. contain something, could be anything)

This is my code (that doesnt seem to work)

if ( !($('#edit-sPostalCode').attr('val','')) ) {
    stuff here
}

What have I missed?

Upvotes: 6

Views: 27516

Answers (3)

El Ronnoco
El Ronnoco

Reputation: 11912

if ( $('#edit-sPostalCode').val() != '' ) {
    stuff here
}

$('#edit-sPostalCode').attr('val','') will actually create an attribute of the input box with a value of '' and will then return a jQuery object.

Saying !($('#edit-sPostalCode').attr('val','')) will then negate that jQuery object. As an instance of an object is truthy in JS the result of this expression will always be false.

Upvotes: 11

Nicholas Murray
Nicholas Murray

Reputation: 13509

if ( !($('#edit-sPostalCode').val() === '') ) {
    stuff here
}

Upvotes: 0

Blazemonger
Blazemonger

Reputation: 93003

Are you aware of the .val method?

if ( $('#edit-sPostalCode').val() !== '' ) {

Although you ought to $.trim the value if you consider whitespace as being equivalent to nothing at all:

if ( $.trim( $('#edit-sPostalCode').val() ) !== '' ) {

Upvotes: 2

Related Questions