|
Prev: allow only numbers in an input
Next: getElementByClass
From: fidodido on 20 Dec 2005 04:46 If i press the button "MOVE UP", it will go to the top of the select box. If i press the button "MOVE DOWN", it will go to the bottom of the select box. The selected values that the user select will still be selected, even if i press up or down. It works in firefox....but not IE ? coz the scrollTop does not work in IE..... Is there any other way ? Here the source : <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Untitled Document</title> </head> <script type="text/javascript"> var bw = new lib_bwcheck() function lib_bwcheck() { this.ver = navigator.appVersion this.agent = navigator.userAgent this.dom = document.getElementById?1:0 this.opera5 = this.agent.indexOf("Opera 5")>-1 this.ie5 = (this.ver.indexOf("MSIE 5")>-1 && this.dom && !this.opera5)?1:0; this.ie6 = (this.ver.indexOf("MSIE 6")>-1 && this.dom && !this.opera5)?1:0; this.ie4 = (document.all && !this.dom && !this.opera5)?1:0; this.ie = this.ie4||this.ie5||this.ie6 this.mac = this.agent.indexOf("Mac")>-1 this.ns6 = (this.dom && parseInt(this.ver) >= 5) ?1:0; this.ns4 = (document.layers && !this.dom)?1:0; this.bw = (this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5) return this; } function moveBar(id, pos) { lb = document.getElementById(id); arr = getMultiple(lb); if (bw.ie) { if (pos == "top") { lb.selectedIndex = 0; } else { lb.selectedIndex = lb.length - 1; lb.selectedIndex = -1; } } else { if (pos == "top") lb.scrollTop = 0; else lb.scrollTop = 50; } } function getMultiple(lb) { var keep_array = new Array(); for (var i=0;i<Number(lb.length);i++) { if (lb.options[i].selected == true) { keep_array.push(i); } } return keep_array; } </script> <body> <table width="200" border="0"> <tr> <td><select class="Textfield" size="5" name="se" id="se" multiple > <option value=""></option> <option value="3">Value1</option> <option value="4">Value2</option> <option value="1">Value3</option> <option value="6">Value4</option> <option value="2">Value5</option> <option value="3">Value6</option> <option value="4">Value7</option> <option value="1">Value8</option> <option value="6">Value9</option> <option value="2">Value10</option> <option value="3">Value11</option> <option value="4">Value12</option> <option value="1">Value13</option> <option value="6">Value14</option> <option value="2">Value15</option> <option value="3">Value16</option> <option value="4">Value17</option> <option value="1">Value18</option> <option value="6">Value19</option> <option value="2">Value20</option> <option value="3">Value21</option> <option value="4">Value22</option> </select> </td> <td> <input type="button" name="click" value="MOVE UP" onClick="moveBar('se', 'top')"> <input type="button" name="click" value="MOVE DOWN" onClick="moveBar('se', 'bottom')"></td> </tr> </table> </body>
From: Thomas 'PointedEars' Lahn on 20 Dec 2005 12:49 fidodido wrote: > If i press the button "MOVE UP", it will go to the top of the select > box. > If i press the button "MOVE DOWN", it will go to the bottom of the > select box. > > The selected values that the user select will still be selected, even > if i press up or down. AFAIK, the pronoun "I" is always spelled "I". > It works in firefox....but not IE ? "Does not work" is a useless error description. [psf 4.11] <URL:http://jibbering.com/faq/#FAQ4_43> > coz the scrollTop does not work in ^^^ That word is not in my dictionary either. > IE..... > Is there any other way ? > > Here the source : > > <html> > <head> > <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" > /> This is not Valid HTML. <URL:http://validator.w3.org/> > <title>Untitled Document</title> <URL:http://www.w3.org/QA/Tips/good-titles> > </head> > > <script type="text/javascript"> The `script' element must be child of the `head' or the `body' element. > var bw = new lib_bwcheck() > function lib_bwcheck() > { > this.ver = navigator.appVersion > this.agent = navigator.userAgent > this.dom = document.getElementById?1:0 > this.opera5 = this.agent.indexOf("Opera 5")>-1 > this.ie5 = (this.ver.indexOf("MSIE 5")>-1 && this.dom && > !this.opera5)?1:0; > [...] <URL:http://pointedears.de/scripts/test/whatami> > [...] > <body> > <table width="200" border="0"> > <tr> > <td><select class="Textfield" size="5" name="se" id="se" multiple> > <option value=""></option> > <option value="3">Value1</option> > [...] Example code would have sufficed. > </select> PointedEars
From: Gérard Talbot on 22 Dec 2005 16:43 fidodido wrote : > If i press the button "MOVE UP", it will go to the top of the select > box. If you want a quality answer/solution to your particular issue, then please post a quality message. > If i press the button "MOVE DOWN", it will go to the bottom of the > select box. > > The selected values that the user select will still be selected, even > if i press up or down. > > It works in firefox....but not IE ? coz the scrollTop does not work in > IE..... > Is there any other way ? > > Here the source : > > <html> No doctype declaration. > <head> > <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" > /> > <title>Untitled Document</title> > </head> > > <script type="text/javascript"> > > var bw = new lib_bwcheck() > function lib_bwcheck() > { > this.ver = navigator.appVersion > this.agent = navigator.userAgent > this.dom = document.getElementById?1:0 > this.opera5 = this.agent.indexOf("Opera 5")>-1 > this.ie5 = (this.ver.indexOf("MSIE 5")>-1 && this.dom && > !this.opera5)?1:0; > this.ie6 = (this.ver.indexOf("MSIE 6")>-1 && this.dom && > !this.opera5)?1:0; > this.ie4 = (document.all && !this.dom && !this.opera5)?1:0; > this.ie = this.ie4||this.ie5||this.ie6 > this.mac = this.agent.indexOf("Mac")>-1 > this.ns6 = (this.dom && parseInt(this.ver) >= 5) ?1:0; > this.ns4 = (document.layers && !this.dom)?1:0; > this.bw = (this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 > || this.opera5) > return this; > } > All of the above function is definitively not recommendable and not good. There is now a wide consensus among experienced web developers that browser detection based on user-agent string detection is unreliable, wrong, difficult, tedious to manage. A Strategy That Works: Object/Feature Detecting by comp.lang.javascript newsgroup FAQ notes http://jibbering.com/faq/faq_notes/not_browser_detect.html#bdFD Browser detection - No; Object detection - Yes by Peter-Paul Koch http://www.quirksmode.org/js/support.html Browser identification approach (aka "browser sniffing"): not best, not reliable approach; Using Object/Feature detection approach: best and overall most reliable http://www.mozilla.org/docs/web-developer/upgrade_2.html#BrowserIdent > function moveBar(id, pos) [snipped] Do not post long excerpts of code; best is to post an url showing the problem and then ask a few questions. You will get assistance from this newsgroup if you post the best helpful message (for readers wishing to read your post and assist you). G?rard -- remove blah to email me
From: Dr John Stockton on 23 Dec 2005 13:36 JRS: In article <410kvhF1bub6cU1(a)uni-berlin.de>, dated Thu, 22 Dec 2005 16:43:03 local, seen in news:comp.lang.javascript, G?rard Talbot <newsblahgroup(a)gtalbot.org> posted : > >Do not post long excerpts of code; best is to post an url showing the >problem and then ask a few questions. You will get assistance from this >newsgroup if you post the best helpful message (for readers wishing to >read your post and assist you). No. Those with off-line newsreaders do not appreciate that approach. Best is to simplify the problematic code until it is short enough to post, checking that in the simplified form the problem still occurs. Quite often, the solution will become obvious in the simplification. Your cited approach is second best. -- ? John Stockton, Surrey, UK. ?@merlyn.demon.co.uk Turnpike v4.00 IE 4 ? <URL:http://www.jibbering.com/faq/> JL/RC: FAQ of news:comp.lang.javascript <URL:http://www.merlyn.demon.co.uk/js-index.htm> jscr maths, dates, sources. <URL:http://www.merlyn.demon.co.uk/> TP/BP/Delphi/jscr/&c, FAQ items, links.
|
Pages: 1 Prev: allow only numbers in an input Next: getElementByClass |