Thank you for posting the script, I think my
question wasn't clear. I tried modifing the posted script but I'm
missing something.
What I would like to do is have the drop down
selection keeps it defined variable that is passed on
to database. Depending on which value from the drop
down box is selected, it will populate 2 different
text boxes with 2 different values.
Thanks for any help!
Here is the script:
<SCRIPT LANGUAGE="JavaScript">
var firstArray = new Array("('Select region','',true,true)",
//
Each field below will have 2 different time values
that will be added to the 2 text boxes.
//
"('this value selected and sent to script on submit'
value_1_for_text_box_1=5:00;
value_2_for_text_box_2=12:00
",
"('Highway 1' value_1_for_text_box_1=11:00;
value_2_for_text_box_2=1:00
",
"('Highway 2' value_1_for_text_box_1=7:00;
value_2_for_text_box_2=4:00
",
"('highway 3' value_1_for_text_box_1=8:00;
value_2_for_text_box_2=22:00
",
"('etc. for about 6 more locations')");
var secondArray = new Array("('Select region','',true,true)",
"('highway 4' value_1_for_text_box_1=3:00;
value_2_for_text_box_2=6:00
",
"('highway 5'value_1_for_text_box_1=5:00;
value_2_for_text_box_2=17:00
",
"('etc. for about 6 more locations')");
function populateLocation(inForm,selected) {
var selectedArray = eval(selected + "Array");
for (var i=0; i < selectedArray.length; i++) {
eval("inForm.location.options
=" + "new Option" +
selectedArray);
}
}
</script>
<script type="text/javascript">
function addTimes(a,b,c) {
if (a.value != '') {
/* Validate input here to check time entered is
of correct hh:mm format and within required
range
Handle error if is isn't
*/
}
var t0 = a.value.split(':');
var t1 = b.value.split(':');
var t2 = c.value.split(':');
var m1 = +t0[1] + +t1[1];
var h1 = +t0[0] + +t1[0] + Math.floor(m1/60);
m1 = (m1 % 60);
b.value = h1 + ':' + m1;
var m2 = +t0[1] + +t2[1];
var h2 = +t0[0] + +t2[0] + Math.floor(m2/60);
m2 = (m2 % 60);
c.value = h2 + ':' + m2;
}
</script>
</head>
<body>
<form method="POST" action="results.asp" name="loc">
//Below is the value that needs to be passed on to the
ASP form. The value selected below will load a 2nd
drop down list that will contain the two variables for
the text boxes.
//
<select name="region"
onChange="populateLocation(document.loc,document.loc.region.options[document.loc.region.selectedIndex].value)">
<option selected value=''>Select Region</option>
<option value='Region1'>Region1</option>
<option value='Region2'>Region2</option>
</select>
//The drop down list below is populated by the 1st
drop down list script and contains 1 variable that is
passed to the Data Base and contains the two variables
that need to be added to the 2 text boxes.
//
<select name="location">
<option value=''>Choose Region 1st</option>
</select>
<input type="text" name="location_1"
size="20"></font>
<label for="inTime">
<input type="text" name="inTime"
onblur="addTimes(this,this.form.time1,
this.form.time2)"></label>
//The time value is inserted below from your script
using values from the second set of drop down boxes.
//
<input type="text" name="time1"
value="this is the part I am trying to script1"></label>
//The 2nd time value is inserted below from your
script using values from the second set of drop down
boxes.
//
<label for="inTime"><input type="text"
name="time2" value="this is the part I am trying to script2"></label>
<input type="submit" value="Submit" name="B1">
<input type="reset" value="Reset" name="B2">
</form>
Mick White said:
Dan said:
What I am trying to do is have the value of each text box set by the
choice from the drop down box.
Something like:
<form name="populatefrm" id="contactfrm" method="post"
action="results.asp">
<form ...>
<select name="region" onchange
="this.form['text_box_'+(this.selectedIndex+1)].value
=this[this.selectedIndex].value">
<option value="5.00" >Choice 1</option>
<option value="11.00">Choice 2</option>
<input type="text" name="text_box_1"size="5"><BR>
<input type="text" name="text_box_2" size="5">
</select>
</form>
Mick