Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations biv343 on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Weird Forms problem

Status
Not open for further replies.

Mighty

Programmer
Feb 22, 2001
1,682
US
I have a form page that has two select boxes. When you select from one, it sets the value of the other to ''. However, if you select a value in select1 and then select and value in select2, although the selected option in select1 reverts to a blank it still holds the original seelcted value ( Does that make sense ).

Say select1 has three options: '', 1, 2
If I choose 2 and then choose something from select2 and onChange event kicks in which sets the value of select1 to ''. While on the screen, the focus in Select1 moves away from 2 and back to '', it still holds the value 2. I have used an alert to output the value and this is the case. Can anybody explain this?? Mise Le Meas,

Mighty :)
 
Mighty --

I'm unable to recreate what you have described... Here's the little example I was playing with -- post yours.

<html>
<head>
<title>Mighty Test</title>
<script language=javascript>
function change(element){
if (element==1){
document.theForm.select1.value='';
alert(document.theForm.select1.value);
}
else{
document.theForm.select2.value='';
alert(document.theForm.select2.value);
}
}
</script>
</head>
<body>
<form name=theForm>
<table width=&quot;100%&quot; border=1>
<tr>
<td><select name=select1 onChange=&quot;change(2);&quot;>
<option value=''>nothing</option>
<option value=1>1</option>
<option value=2>2</option>
</select>
</td><td>
<select name=select2 onChange=&quot;change(1);&quot;>
<option value=''>nothing</option>
<option value=1>1</option>
<option value=2>2</option>
</select>
</td>
</tr>
</table>
</form>
</body>
</html>

lemme know -
paul
 
link9,

Here's my complete code. The page has a number of select boxes. The user may either select multiple products from the first select or enter a range of products using the second two drop downs. The JavaScript function in the HEAD section then generates a stock level page and outputs it to the screen. If you select a part from the first select and then select a range, although the first select seems to blank it still generates the stock level list based on that selection.

<HTML>
<HEAD>
<TITLE>Stock Query Sample</TITLE>
<SCRIPT LANGUAGE=&quot;JavaScript&quot;>
<!--
function showStockLevels(form) {
var tableStart;
var tableRow = '';
var tableEnd;
var tableHTML;
var parts=new Array(27);
for (i=0; i<27; i++) { parts = new Array(2); }

tableStart='<HTML><BODY BGCOLOR=&quot;#CCCCCC&quot;><BR><FONT FACE=&quot;Arial,Helvetica&quot; COLOR=&quot;#4F6FAF&quot; SIZE=&quot;-1&quot;><B>ClearStream Client Area<FONT COLOR=&quot;BLACK&quot;> > </FONT>Stock Query<FONT COLOR=&quot;BLACK&quot;> > </FONT>Stock Query Results</B></FONT><P><TABLE BORDER=&quot;1&quot; CELLSPACING=&quot;0&quot; ALIGN=&quot;CENTER&quot; CELLPADDING=&quot;3&quot;><TR><TH ALIGN=&quot;CENTER&quot;>Part ID</TH><TH ALIGN=&quot;LEFT&quot;>Part Description</TH><TH ALIGN=&quot;CENTER&quot;>Quantity</TH></TR>';

parts[0][0]='16901011';
parts[0][1]='<TR><TD ALIGN=&quot;CENTER&quot;>16901011</TD><TD ALIGN=&quot;LEFT&quot;>ANGLER 9MM X 4.00</TD><TD ALIGN=&quot;CENTER&quot;>0</TD></TR>';
parts[1][0]='16901065';
parts[1][1]='<TR><TD ALIGN=&quot;CENTER&quot;>16901065</TD><TD ALIGN=&quot;LEFT&quot;>ANGLER 12MM X 2.50</TD><TD ALIGN=&quot;CENTER&quot;>0</TD></TR>';
parts[2][0]='16901067';
parts[2][1]='<TR><TD ALIGN=&quot;CENTER&quot;>16901067</TD><TD ALIGN=&quot;LEFT&quot;>ANGLER 12MM X 3.00</TD><TD ALIGN=&quot;CENTER&quot;>0</TD></TR>';
parts[3][0]='16901183';
parts[3][1]='<TR><TD ALIGN=&quot;CENTER&quot;>16901183</TD><TD ALIGN=&quot;LEFT&quot;>ANGLER 18MM X 2.00</TD><TD ALIGN=&quot;CENTER&quot;>0</TD></TR>';
parts[4][0]='16901185';
parts[4][1]='<TR><TD ALIGN=&quot;CENTER&quot;>16901185</TD><TD ALIGN=&quot;LEFT&quot;>ANGLER 18MM X 2.50</TD><TD ALIGN=&quot;CENTER&quot;>0</TD></TR>';
parts[5][0]='16901187';
parts[5][1]='<TR><TD ALIGN=&quot;CENTER&quot;>16901187</TD><TD ALIGN=&quot;LEFT&quot;>ANGLER 18MM X 3.00</TD><TD ALIGN=&quot;CENTER&quot;>0</TD></TR>';
parts[6][0]='16901189';
parts[6][1]='<TR><TD ALIGN=&quot;CENTER&quot;>16901189</TD><TD ALIGN=&quot;LEFT&quot;>ANGLER 18MM X 3.50</TD><TD ALIGN=&quot;CENTER&quot;>0</TD></TR>';
parts[7][0]='16901191';
parts[7][1]='<TR><TD ALIGN=&quot;CENTER&quot;>16901191</TD><TD ALIGN=&quot;LEFT&quot;>ANGLER 18MM X 4.00</TD><TD ALIGN=&quot;CENTER&quot;>1</TD></TR>';
parts[8][0]='17004167';
parts[8][1]='<TR><TD ALIGN=&quot;CENTER&quot;>17004167</TD><TD ALIGN=&quot;LEFT&quot;>3.0X17X14 CLEARSTENT</TD><TD ALIGN=&quot;CENTER&quot;>0</TD></TR>';
parts[9][0]='17004169';
parts[9][1]='<TR><TD ALIGN=&quot;CENTER&quot;>17004169</TD><TD ALIGN=&quot;LEFT&quot;>3.5X17X14 CLEARSTENT</TD><TD ALIGN=&quot;CENTER&quot;>0</TD></TR>';
parts[10][0]='17012005';
parts[10][1]='<TR><TD ALIGN=&quot;CENTER&quot;>17012005</TD><TD ALIGN=&quot;LEFT&quot;>2.5X9 TRACKFORCE PTCA</TD><TD ALIGN=&quot;CENTER&quot;>21</TD></TR>';
parts[11][0]='17012007';
parts[11][1]='<TR><TD ALIGN=&quot;CENTER&quot;>17012007</TD><TD ALIGN=&quot;LEFT&quot;>3.0X9 TRACKFORCE PTCA</TD><TD ALIGN=&quot;CENTER&quot;>25</TD></TR>';
parts[12][0]='17012009';
parts[12][1]='<TR><TD ALIGN=&quot;CENTER&quot;>17012009</TD><TD ALIGN=&quot;LEFT&quot;>3.5X9 TRACKFORCE PTCA</TD><TD ALIGN=&quot;CENTER&quot;>22</TD></TR>';
parts[13][0]='17012011';
parts[13][1]='<TR><TD ALIGN=&quot;CENTER&quot;>17012011</TD><TD ALIGN=&quot;LEFT&quot;>4.0X9 TRACKFORCE PTCA</TD><TD ALIGN=&quot;CENTER&quot;>4</TD></TR>';
parts[14][0]='17012065';
parts[14][1]='<TR><TD ALIGN=&quot;CENTER&quot;>17012065</TD><TD ALIGN=&quot;LEFT&quot;>2.5X12 TRACKFORCE PTCA</TD><TD ALIGN=&quot;CENTER&quot;>19</TD></TR>';
parts[15][0]='17012067';
parts[15][1]='<TR><TD ALIGN=&quot;CENTER&quot;>17012067</TD><TD ALIGN=&quot;LEFT&quot;>3.0X12 TRACKFORCE PTCA</TD><TD ALIGN=&quot;CENTER&quot;>6</TD></TR>';
parts[16][0]='17012069';
parts[16][1]='<TR><TD ALIGN=&quot;CENTER&quot;>17012069</TD><TD ALIGN=&quot;LEFT&quot;>3.5X12 TRACKFORCE PTCA</TD><TD ALIGN=&quot;CENTER&quot;>9</TD></TR>';
parts[17][0]='17012071';
parts[17][1]='<TR><TD ALIGN=&quot;CENTER&quot;>17012071</TD><TD ALIGN=&quot;LEFT&quot;>4.0X12 TRACKFORCE PTCA</TD><TD ALIGN=&quot;CENTER&quot;>0</TD></TR>';
parts[18][0]='17012125';
parts[18][1]='<TR><TD ALIGN=&quot;CENTER&quot;>17012125</TD><TD ALIGN=&quot;LEFT&quot;>2.5X15 TRACKFORCE PTCA</TD><TD ALIGN=&quot;CENTER&quot;>12</TD></TR>';
parts[19][0]='17012131';
parts[19][1]='<TR><TD ALIGN=&quot;CENTER&quot;>17012131</TD><TD ALIGN=&quot;LEFT&quot;>4.0X15 TRACKFORCE PTCA</TD><TD ALIGN=&quot;CENTER&quot;>13</TD></TR>';
parts[20][0]='17012225';
parts[20][1]='<TR><TD ALIGN=&quot;CENTER&quot;>17012225</TD><TD ALIGN=&quot;LEFT&quot;>2.5X20 TRACKFORCE PTCA</TD><TD ALIGN=&quot;CENTER&quot;>5</TD></TR>';
parts[21][0]='17012227';
parts[21][1]='<TR><TD ALIGN=&quot;CENTER&quot;>17012227</TD><TD ALIGN=&quot;LEFT&quot;>3.0X20 TRACKFORCE PTCA</TD><TD ALIGN=&quot;CENTER&quot;>5</TD></TR>';
parts[22][0]='17012229';
parts[22][1]='<TR><TD ALIGN=&quot;CENTER&quot;>17012229</TD><TD ALIGN=&quot;LEFT&quot;>3.5X20 TRACKFORCE PTCA</TD><TD ALIGN=&quot;CENTER&quot;>13</TD></TR>';
parts[23][0]='17012231';
parts[23][1]='<TR><TD ALIGN=&quot;CENTER&quot;>17012231</TD><TD ALIGN=&quot;LEFT&quot;>4.0X20 TRACKFORCE PTCA</TD><TD ALIGN=&quot;CENTER&quot;>15</TD></TR>';
parts[24][0]='17012427';
parts[24][1]='<TR><TD ALIGN=&quot;CENTER&quot;>17012427</TD><TD ALIGN=&quot;LEFT&quot;>3.0X30 TRACKFORCE PTCA</TD><TD ALIGN=&quot;CENTER&quot;>1</TD></TR>';
parts[25][0]='17012429';
parts[25][1]='<TR><TD ALIGN=&quot;CENTER&quot;>17012429</TD><TD ALIGN=&quot;LEFT&quot;>3.5X30 TRACKFORCE PTCA</TD><TD ALIGN=&quot;CENTER&quot;>10</TD></TR>';
parts[26][0]='17023187';
parts[26][1]='<TR><TD ALIGN=&quot;CENTER&quot;>17023187</TD><TD ALIGN=&quot;LEFT&quot;>3.0X18X15 C1 HSC135 (ANG)</TD><TD ALIGN=&quot;CENTER&quot;>1</TD></TR>';

if (form.multilist.value==&quot;&quot; && form.rangestart.value==&quot;&quot; && form.rangeend.value==&quot;&quot;) {
alert (&quot;You must choose products either from the drop down list or by entering a product range.&quot;);
return false;
}
else if (form.multilist.value==&quot;&quot; && (form.rangeend.value < form.rangestart.value)) {
alert (&quot;If you choose to enter a product range, the range finish must be greater than the range start!&quot;);
return false;
}

if (form.multilist.value!=&quot;&quot;) {
var mySelect = form.multilist;
for(i=0;i<mySelect.length;i++){
if(mySelect.options(i).selected){
tableRow = tableRow + parts[i-1][1];
}
}
}
else {
for(i=0;i<parts.length;i++){
if (parts[0] >= form.rangestart.value && parts[0] <= form.rangeend.value) {
tableRow = tableRow + parts[1];
}
}
}

tableEnd='</TABLE><BR><CENTER><A HREF=&quot;JavaScript:window.print()&quot;>Print This Page?</A><p><a href=&quot;javascript:history.back()&quot; >Check another Product</a><BR></CENTER></BODY></HTML>';
tableHTML=tableStart+tableRow+tableEnd;
document.write(tableHTML)
document.close();
}
//-->
</SCRIPT>
</HEAD>

<BODY BGCOLOR=&quot;#CCCCCC&quot; onLoad=&quot;StockForm.reset()&quot;>
<BR><FONT FACE=&quot;Arial,Helvetica&quot; COLOR=&quot;#4F6FAF&quot; SIZE=&quot;-1&quot;><B>ClearStream Client Area<FONT COLOR=&quot;BLACK&quot;> > </FONT>Stock Query<FONT COLOR=&quot;BLACK&quot;> > </FONT>Select Part Number(s)</B></FONT>
<FORM NAME=&quot;StockForm&quot; METHOD=&quot;Get&quot; ACTION=&quot;stckquery.asp&quot;>
<TABLE BORDER=&quot;0&quot; CELLSPACING=&quot;0&quot; CELLPADDING=&quot;2&quot; ALIGN=&quot;CENTER&quot;>
<TR>
<TD ALIGN=&quot;LEFT&quot; COLSPAN=&quot;2&quot;><H2>Method 1:</H2></TD>
</TR>
<TR>
<TD ALIGN=&quot;LEFT&quot;><FONT SIZE=&quot;4&quot;><B>Select Product(s) from the list</B></FONT><BR><FONT SIZE=&quot;2&quot;>(Note: To select multiple products, hold down the <BR>CTRL button and use the mouse to click on the <BR>desired product)</FONT><BR>
</TD>
<TD>
<SELECT MULTIPLE NAME=&quot;multilist&quot; onChange=&quot;this.form.rangeend.value='';this.form.rangestart.value=''&quot;>
<OPTION SELECTED VALUE=&quot;&quot;></OPTION>
<OPTION VALUE=&quot;16901011&quot;>16901011</OPTION>
<OPTION VALUE=&quot;16901065&quot;>16901065</OPTION>
<OPTION VALUE=&quot;16901067&quot;>16901067</OPTION>
<OPTION VALUE=&quot;16901183&quot;>16901183</OPTION>
<OPTION VALUE=&quot;16901185&quot;>16901185</OPTION>
<OPTION VALUE=&quot;16901187&quot;>16901187</OPTION>
<OPTION VALUE=&quot;16901189&quot;>16901189</OPTION>
<OPTION VALUE=&quot;16901191&quot;>16901191</OPTION>
<OPTION VALUE=&quot;17004167&quot;>17004167</OPTION>
<OPTION VALUE=&quot;17004169&quot;>17004169</OPTION>
<OPTION VALUE=&quot;17012005&quot;>17012005</OPTION>
<OPTION VALUE=&quot;17012007&quot;>17012007</OPTION>
<OPTION VALUE=&quot;17012009&quot;>17012009</OPTION>
<OPTION VALUE=&quot;17012011&quot;>17012011</OPTION>
<OPTION VALUE=&quot;17012065&quot;>17012065</OPTION>
<OPTION VALUE=&quot;17012067&quot;>17012067</OPTION>
<OPTION VALUE=&quot;17012069&quot;>17012069</OPTION>
<OPTION VALUE=&quot;17012071&quot;>17012071</OPTION>
<OPTION VALUE=&quot;17012125&quot;>17012125</OPTION>
<OPTION VALUE=&quot;17012131&quot;>17012131</OPTION>
<OPTION VALUE=&quot;17012225&quot;>17012225</OPTION>
<OPTION VALUE=&quot;17012227&quot;>17012227</OPTION>
<OPTION VALUE=&quot;17012229&quot;>17012229</OPTION>
<OPTION VALUE=&quot;17012231&quot;>17012231</OPTION>
<OPTION VALUE=&quot;17012427&quot;>17012427</OPTION>
<OPTION VALUE=&quot;17012429&quot;>17012429</OPTION>
<OPTION VALUE=&quot;17023187&quot;>17023187</OPTION>
</SELECT>
</TD>
</TR>
<TR>
<TD ALIGN=&quot;LEFT&quot; COLSPAN=&quot;2&quot;><BR><HR ALIGN=&quot;CENTER&quot; WIDTH=&quot;75%&quot; SIZE=&quot;1&quot; COLOR=&quot;GRAY&quot;><BR></TD>
</TR>
<TR>
<TD ALIGN=&quot;LEFT&quot; COLSPAN=&quot;2&quot;><H2>Method 2:</H2></TD>
</TR>
<TR>
<TD ALIGN=&quot;CENTER&quot; COLSPAN=&quot;2&quot;>
<FONT SIZE=&quot;4&quot;><B>Query the stock levels from a range of products</B></FONT><BR><BR><FONT SIZE=&quot;2&quot;> from </FONT>
<SELECT NAME=&quot;rangestart&quot; onChange=&quot;javascript:this.form.multilist.value='';if (this.form.rangeend.value=='') {this.form.rangeend.value=this.value;}&quot;>
<OPTION SELECTED VALUE=&quot;&quot;></OPTION>
<OPTION VALUE=&quot;16901011&quot;>16901011</OPTION>
<OPTION VALUE=&quot;16901065&quot;>16901065</OPTION>
<OPTION VALUE=&quot;16901067&quot;>16901067</OPTION>
<OPTION VALUE=&quot;16901183&quot;>16901183</OPTION>
<OPTION VALUE=&quot;16901185&quot;>16901185</OPTION>
<OPTION VALUE=&quot;16901187&quot;>16901187</OPTION>
<OPTION VALUE=&quot;16901189&quot;>16901189</OPTION>
<OPTION VALUE=&quot;16901191&quot;>16901191</OPTION>
<OPTION VALUE=&quot;17004167&quot;>17004167</OPTION>
<OPTION VALUE=&quot;17004169&quot;>17004169</OPTION>
<OPTION VALUE=&quot;17012005&quot;>17012005</OPTION>
<OPTION VALUE=&quot;17012007&quot;>17012007</OPTION>
<OPTION VALUE=&quot;17012009&quot;>17012009</OPTION>
<OPTION VALUE=&quot;17012011&quot;>17012011</OPTION>
<OPTION VALUE=&quot;17012065&quot;>17012065</OPTION>
<OPTION VALUE=&quot;17012067&quot;>17012067</OPTION>
<OPTION VALUE=&quot;17012069&quot;>17012069</OPTION>
<OPTION VALUE=&quot;17012071&quot;>17012071</OPTION>
<OPTION VALUE=&quot;17012125&quot;>17012125</OPTION>
<OPTION VALUE=&quot;17012131&quot;>17012131</OPTION>
<OPTION VALUE=&quot;17012225&quot;>17012225</OPTION>
<OPTION VALUE=&quot;17012227&quot;>17012227</OPTION>
<OPTION VALUE=&quot;17012229&quot;>17012229</OPTION>
<OPTION VALUE=&quot;17012231&quot;>17012231</OPTION>
<OPTION VALUE=&quot;17012427&quot;>17012427</OPTION>
<OPTION VALUE=&quot;17012429&quot;>17012429</OPTION>
<OPTION VALUE=&quot;17023187&quot;>17023187</OPTION>
</SELECT>
<FONT SIZE=&quot;2&quot;> to </FONT>
<SELECT NAME=&quot;rangeend&quot; onChange=&quot;javascript:this.form.multilist.value='';if (this.form.rangestart.value=='') {this.form.rangestart.value=this.value;}&quot;>
<OPTION SELECTED VALUE=&quot;&quot;></OPTION>
<OPTION VALUE=&quot;16901011&quot;>16901011</OPTION>
<OPTION VALUE=&quot;16901065&quot;>16901065</OPTION>
<OPTION VALUE=&quot;16901067&quot;>16901067</OPTION>
<OPTION VALUE=&quot;16901183&quot;>16901183</OPTION>
<OPTION VALUE=&quot;16901185&quot;>16901185</OPTION>
<OPTION VALUE=&quot;16901187&quot;>16901187</OPTION>
<OPTION VALUE=&quot;16901189&quot;>16901189</OPTION>
<OPTION VALUE=&quot;16901191&quot;>16901191</OPTION>
<OPTION VALUE=&quot;17004167&quot;>17004167</OPTION>
<OPTION VALUE=&quot;17004169&quot;>17004169</OPTION>
<OPTION VALUE=&quot;17012005&quot;>17012005</OPTION>
<OPTION VALUE=&quot;17012007&quot;>17012007</OPTION>
<OPTION VALUE=&quot;17012009&quot;>17012009</OPTION>
<OPTION VALUE=&quot;17012011&quot;>17012011</OPTION>
<OPTION VALUE=&quot;17012065&quot;>17012065</OPTION>
<OPTION VALUE=&quot;17012067&quot;>17012067</OPTION>
<OPTION VALUE=&quot;17012069&quot;>17012069</OPTION>
<OPTION VALUE=&quot;17012071&quot;>17012071</OPTION>
<OPTION VALUE=&quot;17012125&quot;>17012125</OPTION>
<OPTION VALUE=&quot;17012131&quot;>17012131</OPTION>
<OPTION VALUE=&quot;17012225&quot;>17012225</OPTION>
<OPTION VALUE=&quot;17012227&quot;>17012227</OPTION>
<OPTION VALUE=&quot;17012229&quot;>17012229</OPTION>
<OPTION VALUE=&quot;17012231&quot;>17012231</OPTION>
<OPTION VALUE=&quot;17012427&quot;>17012427</OPTION>
<OPTION VALUE=&quot;17012429&quot;>17012429</OPTION>
<OPTION VALUE=&quot;17023187&quot;>17023187</OPTION>
</SELECT>
</TD>
</TR>
<TR>
<TD ALIGN=&quot;CENTER&quot; COLSPAN=&quot;2&quot;><BR><BR>
<INPUT TYPE=&quot;Button&quot; Name=&quot;Submit&quot; VALUE=&quot;Check Stock Levels&quot; onClick=&quot;return showStockLevels(this.form);&quot;>
</TD>
</TR>
</TABLE>
</FORM>
</BODY>
</HTML> Mise Le Meas,

Mighty :)
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top