/    Sign up×
Community /Pin to ProfileBookmark

Multi dropdown not working in IE

Hello,

I have a dependent drop down system. You select from the first drop down which then displays options from the second which displays options from the third etc and finally you click the button and it displays a price.

It works fine in Firefox and Chrome etc but not in IE.

[CODE]<html>
<head>
<script>
function texter()
{
var textField;
textField = combo_4.value;
textFieldLength = combo_4.value.length;

if (textFieldLength==0)
{
combo_4.value=prompt(“Please enter something”,””);
}
else
{
result.innerHTML = textField;
}

}

data_1 = new Option(“Blue”, “”);
data_1_1 = new Option(“Small”, “”);
data_1_1_1 = new Option(“600”, “”);
data_1_1_1_1 = new Option(“1 sided”,””)
data_1_1_1_1_1 = new Option(“New Customer”,”The total cost to you is &pound;187.”);

displaywhenempty=””
valuewhenempty=”<strong>Please choose an option from every dropdown</strong>”

displaywhennotempty=””
valuewhennotempty=”<strong>Please choose an option from every dropdown</strong>”

function change(currentbox) {
numb = currentbox.id.split(“_”);
currentbox = numb[1];

i=parseInt(currentbox)+1

while (document.getElementById(“combo_”+i)) {
son = document.getElementById(“combo_”+i);

for (m=son.options.length-1; m>0; m–) son.options[m]=null;

son.options[0]=new Option(displaywhenempty,valuewhenempty);
i++;
}

stringa=’data’;
i=0;
while (document.getElementById(“combo_”+i)) {
stringa=stringa+’_’+document.getElementById(“combo_”+i).selectedIndex;
if (i==currentbox) break;
i++;
}

following=parseInt(currentbox)+1

if (document.getElementById(“combo_”+following)) {
son = document.getElementById(“combo_”+following);
stringa=stringa+”_”;
i=0;
while ((eval(“typeof(“+stringa+i+”)!=’undefined'”)) || (i==0)) {

if ((i==0) && eval(“typeof(“+stringa+”0)==’undefined'”))
if (eval(“typeof(“+stringa+”1)==’undefined'”))
son.options[0]=new Option(displaywhenempty,valuewhenempty);
else
son.options[0]=new Option(displaywhennotempty,valuewhennotempty);
else
son.options[i]=new Option(eval(stringa+i+”.text”),eval(stringa+i+”.value”));
i++;
}

i=1;
combostatus=”;
cstatus=stringa.split(“_”);
while (cstatus[i]) {
combostatus=combostatus+cstatus[i];
i++;
}
return combostatus;
}
}

function go(elementName){
var newUrl=document.forms[0].elements[elementName].options[document.forms[0].elements[elementName].selectedIndex].value;
if(newUrl.indexOf(“www”)>=0){
location.href=newUrl;
}
}

</script>
</head>
<body>

<form>

<table align=”center” width=”500″ cellspacing=”6″ cellpadding=”6″>
<tr><td class=”steps2″><select name=”combo0″ id=”combo_0″ onChange=”change(this);” style=”width:200px;”>
<option selected=”selected” value=”value1″></option>
<option value=”value2″>Blue</option>
</select></td></tr>
<tr><td class=”steps2″><select name=”combo1″ id=”combo_1″ onChange=”change(this)” style=”width:200px;”>
<option value=”value1″> </option>
</select></td></tr>
<tr><td class=”steps2″><select name=”combo2″ id=”combo_2″ onChange=”change(this);” style=”width:200px;”>
<option value=”value1″> </option>
</select></td></tr>
<tr><td class=”steps2″><select name=”combo3″ id=”combo_3″ onChange=”change(this);” style=”width:200px;”>
<option value=”value1″> </option></select></td></tr
<tr><td class=”steps2″><select name=”combo4″ id=”combo_4″ onChange=”change(this);” style=”width:200px;”>
<option value=”value1″> </option></select></td></tr>

<tr><td><input type= “button” value = “Get your quote now” onclick = “texter()”></td></tr>

<tr><td><div class=”result” id=”result”></div></td></tr>

</table>

</form>

</body>
</html>
[/CODE]

Any help would be appreciated.

Thanks

to post a comment
JavaScript

2 Comments(s)

Copy linkTweet thisAlerts:
@vwphillipsJul 30.2012 — [CODE]<html>
<head>
<script>
function texter(frm){
var textField;
textField = frm['combo_4'].value;
textFieldLength = frm['combo_4'].value.length;
if (textFieldLength==0){
frm['combo_4'].value=prompt("Please enter something","");
}
else {
result.innerHTML = textField;
}

}

data_1 = new Option("Blue", "");
data_1_1 = new Option("Small", "");
data_1_1_1 = new Option("600", "");
data_1_1_1_1 = new Option("1 sided","")
data_1_1_1_1_1 = new Option("New Customer","The total cost to you is &pound;187.");

displaywhenempty=""
valuewhenempty="<strong>Please choose an option from every dropdown</strong>"

displaywhennotempty=""
valuewhennotempty="<strong>Please choose an option from every dropdown</strong>"


function change(currentbox) {
numb = currentbox.id.split("_");
currentbox = numb[1];

i=parseInt(currentbox)+1

while (document.getElementById("combo_"+i)) {
son = document.getElementById("combo_"+i);

for (m=son.options.length-1; m>0; m--) son.options[m]=null;

son.options[0]=new Option(displaywhenempty,valuewhenempty);
i++;
}

stringa='data';
i=0;
while (document.getElementById("combo_"+i)) {
stringa=stringa+'_'+document.getElementById("combo_"+i).selectedIndex;
if (i==currentbox) break;
i++;
}



following=parseInt(currentbox)+1

if (document.getElementById("combo_"+following)) {
son = document.getElementById("combo_"+following);
stringa=stringa+"_";
i=0;
while ((eval("typeof("+stringa+i+")!='undefined'")) || (i==0)) {

if ((i==0) && eval("typeof("+stringa+"0)=='undefined'"))
if (eval("typeof("+stringa+"1)=='undefined'"))
son.options[0]=new Option(displaywhenempty,valuewhenempty);
else
son.options[0]=new Option(displaywhennotempty,valuewhennotempty);
else
son.options[i]=new Option(eval(stringa+i+".text"),eval(stringa+i+".value"));
i++;
}

i=1;
combostatus='';
cstatus=stringa.split("_");
while (cstatus[i]) {
combostatus=combostatus+cstatus[i];
i++;
}
return combostatus;
}
}


function go(elementName){
var newUrl=document.forms[0].elements[elementName].options[document.forms[0].elements[elementName].selectedIndex].value;
if(newUrl.indexOf("www")>=0){
location.href=newUrl;
}
}

</script>
</head>
<body>


<form>

<table align="center" width="500" cellspacing="6" cellpadding="6">
<tr><td class="steps2"><select name="combo0" id="combo_0" onChange="change(this);" style="width:200px;">
<option selected="selected" value="value1"></option>
<option value="value2">Blue</option>
</select></td></tr>
<tr><td class="steps2"><select name="combo1" id="combo_1" onChange="change(this)" style="width:200px;">
<option value="value1"> </option>
</select></td></tr>
<tr><td class="steps2"><select name="combo2" id="combo_2" onChange="change(this);" style="width:200px;">
<option value="value1"> </option>
</select></td></tr>
<tr><td class="steps2"><select name="combo3" id="combo_3" onChange="change(this);" style="width:200px;">
<option value="value1"> </option></select></td></tr
<tr><td class="steps2"><select name="combo4" id="combo_4" onChange="change(this);" style="width:200px;">
<option value="value1"> </option></select></td></tr>

<tr><td><input type= "button" value = "Get your quote now" onclick = "texter(this.form)"></td></tr>

<tr><td><div class="result" id="result"></div></td></tr>


</table>

</form>

</body>
</html>[/CODE]
Copy linkTweet thisAlerts:
@davidwhiteauthorJul 30.2012 — [CODE]<html>
<head>
<script>
function texter(frm){
var textField;
textField = frm['combo_4'].value;
textFieldLength = frm['combo_4'].value.length;
if (textFieldLength==0){
frm['combo_4'].value=prompt("Please enter something","");
}
else {
result.innerHTML = textField;
}

}

data_1 = new Option("Blue", "");
data_1_1 = new Option("Small", "");
data_1_1_1 = new Option("600", "");
data_1_1_1_1 = new Option("1 sided","")
data_1_1_1_1_1 = new Option("New Customer","The total cost to you is &pound;187.");

displaywhenempty=""
valuewhenempty="<strong>Please choose an option from every dropdown</strong>"

displaywhennotempty=""
valuewhennotempty="<strong>Please choose an option from every dropdown</strong>"


function change(currentbox) {
numb = currentbox.id.split("_");
currentbox = numb[1];

i=parseInt(currentbox)+1

while (document.getElementById("combo_"+i)) {
son = document.getElementById("combo_"+i);

for (m=son.options.length-1; m>0; m--) son.options[m]=null;

son.options[0]=new Option(displaywhenempty,valuewhenempty);
i++;
}

stringa='data';
i=0;
while (document.getElementById("combo_"+i)) {
stringa=stringa+'_'+document.getElementById("combo_"+i).selectedIndex;
if (i==currentbox) break;
i++;
}



following=parseInt(currentbox)+1

if (document.getElementById("combo_"+following)) {
son = document.getElementById("combo_"+following);
stringa=stringa+"_";
i=0;
while ((eval("typeof("+stringa+i+")!='undefined'")) || (i==0)) {

if ((i==0) && eval("typeof("+stringa+"0)=='undefined'"))
if (eval("typeof("+stringa+"1)=='undefined'"))
son.options[0]=new Option(displaywhenempty,valuewhenempty);
else
son.options[0]=new Option(displaywhennotempty,valuewhennotempty);
else
son.options[i]=new Option(eval(stringa+i+".text"),eval(stringa+i+".value"));
i++;
}

i=1;
combostatus='';
cstatus=stringa.split("_");
while (cstatus[i]) {
combostatus=combostatus+cstatus[i];
i++;
}
return combostatus;
}
}


function go(elementName){
var newUrl=document.forms[0].elements[elementName].options[document.forms[0].elements[elementName].selectedIndex].value;
if(newUrl.indexOf("www")>=0){
location.href=newUrl;
}
}

</script>
</head>
<body>


<form>

<table align="center" width="500" cellspacing="6" cellpadding="6">
<tr><td class="steps2"><select name="combo0" id="combo_0" onChange="change(this);" style="width:200px;">
<option selected="selected" value="value1"></option>
<option value="value2">Blue</option>
</select></td></tr>
<tr><td class="steps2"><select name="combo1" id="combo_1" onChange="change(this)" style="width:200px;">
<option value="value1"> </option>
</select></td></tr>
<tr><td class="steps2"><select name="combo2" id="combo_2" onChange="change(this);" style="width:200px;">
<option value="value1"> </option>
</select></td></tr>
<tr><td class="steps2"><select name="combo3" id="combo_3" onChange="change(this);" style="width:200px;">
<option value="value1"> </option></select></td></tr
<tr><td class="steps2"><select name="combo4" id="combo_4" onChange="change(this);" style="width:200px;">
<option value="value1"> </option></select></td></tr>

<tr><td><input type= "button" value = "Get your quote now" onclick = "texter(this.form)"></td></tr>

<tr><td><div class="result" id="result"></div></td></tr>


</table>

</form>

</body>
</html>[/CODE]
[/QUOTE]


Yes, that works. Well done.

Thanks.
×

Success!

Help @davidwhite spread the word by sharing this article on Twitter...

Tweet This
Sign in
Forgot password?
Sign in with TwitchSign in with GithubCreate Account
about: ({
version: 0.1.9 BETA 6.17,
whats_new: community page,
up_next: more Davinci•003 tasks,
coming_soon: events calendar,
social: @webDeveloperHQ
});

legal: ({
terms: of use,
privacy: policy
});
changelog: (
version: 0.1.9,
notes: added community page

version: 0.1.8,
notes: added Davinci•003

version: 0.1.7,
notes: upvote answers to bounties

version: 0.1.6,
notes: article editor refresh
)...
recent_tips: (
tipper: @nearjob,
tipped: article
amount: 1000 SATS,

tipper: @meenaratha,
tipped: article
amount: 1000 SATS,

tipper: @meenaratha,
tipped: article
amount: 1000 SATS,
)...