By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
459,575 Members | 1,377 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 459,575 IT Pros & Developers. It's quick & easy.

select menu and display in the frame

P: n/a
Dear Everybody,

I have a double menu select javascript, could anyone know
how to change it, so that the result will display in a frame
name called "content", please?

Here is the script.
<html><body>
<script>
<!--
v=false;
//-->
</script>
<script>
<!--
if (typeof(Option)+"" != "undefined") v=true;
//-->
</script>
<script>
<!-- Begin
if(v){a=new Array();aln=0;}
function getFormNum (formName) {
formNum =-1;
for (i=0;i<document.forms.length;i++){
tempForm = document.forms[i];
if (formName == tempForm) {
formNum = i;
correctForm = tempForm;
break;
}
}
return formNum;
}
function jmp(formName,elementNum) {
getFormNum(formName);
if (formNum>=0) {
with (document.forms[formNum].elements[elementNum]) {
i=selectedIndex;
if (i>=0) location=options[i].value;
}
}
}
function O(txt,url) {
a[k]=new Option(txt,url);k++;
}
function relate(formName,elementNum,j) {
if(v) {
k=1;
if(j==0) { // default category item
a=new Array();
O("Select day","");
}

if(j==1) { // 1st category items
a=new Array();
O("Select day","");
O("Dec 25","2003/1225.html");
}

if(j==2) { // 2nd category items
a=new Array();
O("Select day","");
O("March 6","2004/0306.html");
}

aln2=a.length;
getFormNum(formName);
if (formNum>=0) {
formNum = formNum + 1;
with (document.forms[formNum].elements[elementNum]) {
for (var i=options.length-1;i>0;i--) options[i]=null;
for (var i=1;i<aln2;i++) options[i-1]=a[i];
options[0].selected=true;
}
}
} else {
jmp(formName,elementNum);
}
}
// End -->
</script>
<center>
<table><tr>
<td align=center valign=bottom>
<form name=f1 method=post action="" onSubmit="return false;">
<select name=m1 onChange="relate(this.form,0,this.selectedIndex);
document.f2.m2.focus();">
<option value="/" class=select>Select Year
<option value="/" class=year>2003
<option value="/" class=year>2004
</select></form></td>
<td align=center valign=bottom>
<form name=f2 method=post action="" onsubmit="return false;">
<select name="m2" onchange="jmp(this.form,0)">
<option value="/" class=selectday>Select day
<option value="/">
</select></form></td>
</tr></table>
</body></html>
--
thank you very much for your help.
Jul 23 '05 #1
Share this Question
Share on Google+
1 Reply


P: n/a
quick solution...
i would suggest tho' that you think of a neater way to do this.
Don't get me wrong, not saying its bad or wrong, just from what i see there
are shorter and neater ways to do it :0)

Good luck

Change this funcion to create the url and make it the form's ACTION
then submit the form
function jmp(formName,elementNum) {
getFormNum(formName);
if (formNum>=0) {
with (document.forms[formNum].elements[elementNum]) {
i=selectedIndex;
if (i>=0) frmAction=options[i].value;
document.forms[formNum].action = frmAction;
document.forms[formNum].submit();
}
}
}

give the form the target you want, so when it is submitted above, it'll
sumit to that frame

<form name=f2 method=post TARGET="FRAME_NAME" action="" onsubmit="return
false;">
<select name="m2" onchange="jmp(this.form,0)">
<option value="/" class=selectday>Select day
<option value="/">
</select></form>
cheers
"John Fung" <js*****@netvigator.com> wrote in message
news:dc*************************@posting.google.co m...
Dear Everybody,

I have a double menu select javascript, could anyone know
how to change it, so that the result will display in a frame
name called "content", please?

Here is the script.
<html><body>
<script>
<!--
v=false;
//-->
</script>
<script>
<!--
if (typeof(Option)+"" != "undefined") v=true;
//-->
</script>
<script>
<!-- Begin
if(v){a=new Array();aln=0;}
function getFormNum (formName) {
formNum =-1;
for (i=0;i<document.forms.length;i++){
tempForm = document.forms[i];
if (formName == tempForm) {
formNum = i;
correctForm = tempForm;
break;
}
}
return formNum;
}
function jmp(formName,elementNum) {
getFormNum(formName);
if (formNum>=0) {
with (document.forms[formNum].elements[elementNum]) {
i=selectedIndex;
if (i>=0) location=options[i].value;
}
}
}
function O(txt,url) {
a[k]=new Option(txt,url);k++;
}
function relate(formName,elementNum,j) {
if(v) {
k=1;
if(j==0) { // default category item
a=new Array();
O("Select day","");
}

if(j==1) { // 1st category items
a=new Array();
O("Select day","");
O("Dec 25","2003/1225.html");
}

if(j==2) { // 2nd category items
a=new Array();
O("Select day","");
O("March 6","2004/0306.html");
}

aln2=a.length;
getFormNum(formName);
if (formNum>=0) {
formNum = formNum + 1;
with (document.forms[formNum].elements[elementNum]) {
for (var i=options.length-1;i>0;i--) options[i]=null;
for (var i=1;i<aln2;i++) options[i-1]=a[i];
options[0].selected=true;
}
}
} else {
jmp(formName,elementNum);
}
}
// End -->
</script>
<center>
<table><tr>
<td align=center valign=bottom>
<form name=f1 method=post action="" onSubmit="return false;">
<select name=m1 onChange="relate(this.form,0,this.selectedIndex);
document.f2.m2.focus();">
<option value="/" class=select>Select Year
<option value="/" class=year>2003
<option value="/" class=year>2004
</select></form></td>
<td align=center valign=bottom>
<form name=f2 method=post action="" onsubmit="return false;">
<select name="m2" onchange="jmp(this.form,0)">
<option value="/" class=selectday>Select day
<option value="/">
</select></form></td>
</tr></table>
</body></html>
--
thank you very much for your help.

Jul 23 '05 #2

This discussion thread is closed

Replies have been disabled for this discussion.