jQuery: How to check if a value exists in an array?

Posted by Jannis on Stack Overflow See other posts from Stack Overflow or by Jannis
Published on 2010-05-21T00:15:00Z Indexed on 2010/05/21 0:20 UTC
Read the original article Hit count: 1558

Filed under:
|
|
|
|

Hello,

I am trying to write a simple input field validation plugin at the moment (more of a learning exercise really) and thought this would not be too hard, seeing as all I should have to do is:

  1. Get input fields
  2. Store them in array with each one's value
  3. On submit of form check if array contains any empty strings

But I seem to fail at writing something that checks for an empty string (read: input with no text inside) inside my array.

Here is the code I have so far:

var form = $(this), // passed in form element
    inputs = form.find('input'), // all of this forms input fields
    isValid = false; // initially set the form to not be valid


function validate() {
    var fields = inputs.serializeArray(); // make an array out of input fields

    // start -- this does not work
    for (var n in fields) {
        if (fields[n].value == "") {
            isValid = false;
            console.log('failed');
        } else {
            isValid = true;
            console.log('passed');
        };
    }
    // end -- this does not work

}; // close validate()

// TRIGGERS
inputs.live('keyup blur', function(event) {
    validate();
});

Any help with how I can check if one of the fields is blank and if so return a isValid = false would be much appreciated.

I also played around with the $.inArray("", fields) but this would never return 0 or 1 even when the console.log showed that the fields had no value.

Thanks for reading.

© Stack Overflow or respective owner

Related posts about JavaScript

Related posts about jQuery