Reputation: 4022
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
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
Reputation: 13509
if ( !($('#edit-sPostalCode').val() === '') ) {
stuff here
}
Upvotes: 0
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