Refreshing a href variable using OnChange of a select list

P

Paul Eghbal

Hi all,
I'm trying to use the following script:

<script language="javaScript">
function setrepto(){
document.aForm.repno.value =
document.aForm.rep.options[document.aForm.rep.selectedIndex].value;
}
</script>

On the following form (Partly in asp):

<form name="aForm">
<select name="rep" OnChange="setrepto();">
<option value="ALL">Select a Rep Here</option>
<%
while not slsrs.eof
repno = slsrs("SLS#")
repname = slsrs("SLSNAM")%>
<option value="<%=repno%>"><%=repname%></option>
<%slsrs.movenext
wend%>
</select>
</form>

To change the value of 'repno' in the following href, which is on the
same page:

<a href="nextpage.asp?rep=<%=repno%>">Click here</a>

So basically, as a user changes the selection, the value of repno in
the above href should change.

Can't get it to work. Can anyone help?

TIA,
Paul
 
L

Lee

Paul Eghbal said:
Hi all,
I'm trying to use the following script:

<script language="javaScript">
function setrepto(){
document.aForm.repno.value =
document.aForm.rep.options[document.aForm.rep.selectedIndex].value;
}
</script>

On the following form (Partly in asp):

<form name="aForm">
<select name="rep" OnChange="setrepto();">
<option value="ALL">Select a Rep Here</option>
<%
while not slsrs.eof
repno = slsrs("SLS#")
repname = slsrs("SLSNAM")%>
<option value="<%=repno%>"><%=repname%></option>
<%slsrs.movenext
wend%>
</select>
</form>

To change the value of 'repno' in the following href, which is on the
same page:

<a href="nextpage.asp?rep=<%=repno%>">Click here</a>

So basically, as a user changes the selection, the value of repno in
the above href should change.

The repno variable in your HREF attribute is an ASP variable, and so
only exists on the server before the page is sent to the user's browser.

The simplest solution may be to replace your onChange handler and your
link with a button element in your form, whose onClick handler gets the
current selected value and changes the value of the location object:

<input type="button"
value="Click here"
onclick="location.href='nextpage.asp?rep='+this.form.rep.options[this.form.rep.selectedIndex].value">
 
G

GIMME

Paul,

Study this example. Paste this html code into a file and view it.

You'll need to make a javascript function for each rep from in the
ASP.

<html><head>
<SCRIPT LANGUAGE="JavaScript">
<!--
function onChange_Rep(ob){
var ii = 0
var ix = ob.selectedIndex
var cat_value = ob.options[ix].value
// hardcoded these categories, can generalize later
if (cat_value == "0")
load_SW_urls()
if (cat_value == "1")
load_GD_urls()
}

function load_SW_urls(){
// Keep deleting first item til all gone
while (document.aForm.thread.length)
document.aForm.thread.options[0] = null
len = document.aForm.thread.length;
document.aForm.thread.options[len] = new
Option("http://www.joinarnold.com", "0",false,true)
len = document.aForm.thread.length;
document.aForm.thread.options[len] = new
Option("http://joinarnold.meetup.com", "1",false,true)
}

function load_GD_urls(){
// Keep deleting first item til all gone
while (document.aForm.thread.length)
document.aForm.thread.options[0] = null
len = document.aForm.thread.length;
document.aForm.thread.options[len] = new Option("http://www.aclu.org",
"0",false,true)
len = document.aForm.thread.length;
document.aForm.thread.options[len] = new
Option("http://www.totalrecall2003.com", "1",false,true)
}

function button_focus()
{
document.aForm.rep.focus()
}

function do_onload() {
load_SW_urls();
button_focus();
}

//-->
</script>
</head><body onLoad="do_onload()" bgcolor=efefaaa >
<center>
<form name=aForm>
<table cellpadding=3 cellspacing=0 border=1 bgcolor=silver width=280 >

<td bgcolor=silver>
<p>
<font face="Tacoma, Verdana, Helvetica" size=2>
<b>Rep</b></font>
<td bgcolor=silver>
<p>
<font face="Tacoma, Verdana, Helvetica" size=2>
<b>Thread</b></font>
</tr>

<tr bgcolor=silver>
<td valign=top>
<select name="rep" onChange="onChange_Rep(this)" >
<option value="0">Arnold Schwarzenegger</option>
<option value="1">Graay Daviss</option>
</select>

<td rowspan=3 valign=top>
<select name="thread" size=1 >
<option value="bogus">____________________</option>
</select>
</tr>


</table>
</form>

</center>
</body>
</html>
 
P

Paul Eghbal

The simplest solution may be to replace your onChange handler and your
link with a button element in your form, whose onClick handler gets the
current selected value and changes the value of the location object:

<input type="button"
value="Click here"
onclick="location.href='nextpage.asp?rep='+this.form.rep.options[this.form.rep.selectedIndex].value">

Lee,
Thanks for your help. This is a better solution.

Paul
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,766
Messages
2,569,569
Members
45,043
Latest member
CannalabsCBDReview

Latest Threads

Top