DoobyScooby
DoobyScooby

Reputation: 377

HTML/JS: Validating value in <selected>-list

I'm really new to this and working on a JavaScript code and I want to see if a dropdownlist has any choosen value. How do i do that?

I tried:

var selectObj = form.document.getElementById('myListId');
var selectInd = selectObj.selectedInd;

and tried:

if(selectInd == "") 

to check if it was empty.

What do I need to change to make it work?

Thanks in advance!

Upvotes: 0

Views: 962

Answers (3)

Galled
Galled

Reputation: 4206

Try to read this example.

You are trying compare a number (selectObj.selectedIndex) with a string (""), you should write something like this:

var selectObj = document.getElementById('myListId'),
    selectInd = selectObj.selectedIndex,
    selectedVal = selectObj.options[selectInd].value;

if(selectedVal== "") {
    /* do your stuff*/
}

Only to notice: This only would work (detect a value equal to "") with an html like this:

<select id="myListId">
    <option value="" selected="selected">Empty value</option>
    <option value="1">Non empty value</option>
</select>

Or when the user has been selected the option "Empty value".

EDIT: Try with this demo. This demo also works in IE7.

Upvotes: 1

Alex Turpin
Alex Turpin

Reputation: 47776

A drop-down, by design, always has a value selected. If you just want to leave an empty value first to not choose something for the user, you can simply check if it's value is empty.

document.getElementById("validate").onclick = function() {
    if (document.getElementById("foo").value == "")
        alert("invalid");
    else
        alert("valid");
};

Live example

According to comments, this might not work in older versions of IE. Be sure to test it there if you need to support those browsers.

Upvotes: 1

Zoidberg
Zoidberg

Reputation: 10323

HTML

<select id="myListId">
  <option value="">- Select an option-</option>
  <option value="1">Option 1</option>
  <option value="2">Option 2</option>
  <option value="3">Option 3</option>
</select>

Javascript

function checkvalue(){
    var selectObj = form.document.getElementById('myListId');
    if (selectObj.value != "") {/* DO something */}
}

Now you can execute this function on change of the select box, or when you submit the form, it is up to you.

Upvotes: 1

Related Questions