31. december 2003 - 15:20
Der er
17 kommentarer og 2 løsninger
To onchange i samme felt
Dette er en fortsættelse af dette spørgsmål:
http://www.eksperten.dk/spm/445591 Problemet er, at jeg felt nr. 2 forbliver disablet, selvom jeg ved en "onchange" skulle få det enablet!
Jeg smider 100 pts. da det haster en del!
mvh
Annonceindlæg fra Barco
31. december 2003 - 15:59
#1
<select size="1" name="distance" onchange="document.tilmelding.sum.value=parseInt(this.value)+parseInt(document.tilmelding.party.value)+',00 DKK'; if(this.value < 200) {document.tilmelding.party.disabled = true;} else { document.tilmelding.party.disabled = false; }">
31. december 2003 - 16:03
#2
Jeg ved ikke hvad x havde gang i :) Der bruges name og ikke id, så document.getElementById('party') ikke bruges.. Og det hedder disabled, og ikke enabled :)
31. december 2003 - 16:03
#3
x = nikolajdu :) (dovenskab)
31. december 2003 - 16:05
#4
Og hvad skal det her til for?: if(this.options[this.selectedIndex].value == '100' || this.options[this.selectedIndex].value == '50' || this.options[this.selectedIndex].value == '0') Det her er nok: if(this.value < 200) I fremtiden hedder det "this.value", og ikke "this.options[this.selectedIndex].value".
31. december 2003 - 16:07
#5
En anden ting.. Den ville have været nemmere at bruge: if( (this.options[this.selectedIndex].value != '250') && (this.options[this.selectedIndex].value != '200') ) {... Dvs, hvis værdierne ikke er 250 og 200.. det er jo de vigtige værdier.. De ydereste () behøver ikke at være det.. men jeg gør det alligevel :) - Jeg smider lige et svar..
31. december 2003 - 16:18
#6
-> thesurfer Tak for dit hurtige svar - se nu virker det efterhånden efter hensigten. Har dog en lille ting mere: Hvis nu jeg først vælger "Marathon" og derefter vælger 1 eller 2 deltagere i party-feltet, er det så muligt at man i select-boksen "distance" kun har mulighed for at vælge "Marathon" eller "Halvmarathon" (250 eller 200)? mvh
31. december 2003 - 16:32
#7
Hvilken generator har du haft til at producere den formular ?-) Fyldt med overflødige ting, så man tror det er løgn !-) -- og dit sidste spørgsmål, kan vel besvares på to måder: 1) Du disabler distance-valget hvis der vælges antal ... 2) man checker specielt for om der er både det ene og det andet ... -- selv ville jeg vælge mulighed 1 !o]
31. december 2003 - 16:35
#8
Efter en smule oprydning ... <html> <head> <title>Tilmelding</title> </head> <body> <div align="center"> <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse;margin-right:auto;margin-left:auto;" bordercolor="#F88A00" width="80%" id="AutoNumber1" bgcolor="#FFFFFF" bordercolorlight="#F88A00" bordercolordark="#F88A00"> <tr> <td width="79%" valign="top" align="center"> <form name="tilmelding" method="post" action="sendmail.php"> <table border="0" cellpadding="4" bordercolor="#111111" width="96%" style="text-align:right;font-family:Verdana,sans-serif;font-size: 9pt;border-collapse: collapse;"> <tr valign="top"> <td width="145" valign="middle"> Distance</td> <td style="width:214px;vertical-align:middle;font-weight:bold;"> <select size="1" name="distance" onchange="this.form.sum.value=(+this.value)+(+this.form.party.value)+',00 DKK';if(+this.value>100){this.form.party.disabled = false}else this.form.party.disabled = true;"> <option selected value="0">-Angiv distance-</option> <option value="250">Marathon (250,00 DKK)</option> <option value="200">Halvmarathon (200,00 DKK)</option> <option value="100">5,8 km (100,00 DKK)</option> <option value="50">3 km (50,00 DKK)</option> </select> <span style="color:red">*</span></td> </tr> <tr valign="top"> <td width="145" valign="middle"> Marathon Party</td> <td style="width:214px;vertical-align:middle;font-weight:bold;"> <select size="1" name="party" onchange="this.form.sum.value=(+this.value)+(+this.form.distance.value)+',00 DKK';this.form.distance.disabled=(this.selectedIndex>1)" disabled> <option selected value="0">-Angiv antal deltagere-</option> <option value="0">0</option> <option value="250">1 (250,00 DKK)</option> <option value="500">2 (500,00 DKK)</option> </select> <span style="color:red">*</span></td> </tr> <tr> <td style="width:145px;vertical-align:middle;font-weight:bold;"> Beløb i alt </td> <td width="513" valign="middle" align="right"> <input type="text" name="sum" size="10" readonly="true" style="margin-right:309px;text-align:left;"> </td> </tr> </table> </form></td></tr></table> </div></body> </html> -- det skal understreges, at jeg ikke har været igennem med en tættekam !-)
31. december 2003 - 16:35
#9
-> roenving Har du et forslag til, hvorledes formularen BØR se ud? Sådan her ser den ud i øjeblikket: <html> <head> <title>Tilmelding</title> </head> <body> <div align="center"> <center> <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#F88A00" width="80%" id="AutoNumber1" bgcolor="#FFFFFF" bordercolorlight="#F88A00" bordercolordark="#F88A00"> <tr> <td width="79%" valign="top"> <div align="center"> <center> <form name="tilmelding" method="post" action="sendmail.php"> <table border="0" cellpadding="4" style="border-collapse: collapse" bordercolor="#111111" width="96%"> <tr valign="top"> <td width="145" valign="middle"> <p align="right"><font face="Verdana" style="font-size: 9pt">Distance</font></td> <td width="214" valign="middle"><b><font face="Verdana"> <span style="font-size: 9pt"><select size="1" name="distance" onchange="document.tilmelding.sum.value=parseInt(this.value)+parseInt(document.tilmelding.party.value)+',00 DKK'; if( (this.options[this.selectedIndex].value != '250') && (this.options[this.selectedIndex].value != '200') ) {document.tilmelding.party.disabled = true;} else { document.tilmelding.party.disabled = false; }"> <option selected value="0">-Angiv distance-</option> <option value="250">Marathon (250,00 DKK)</option> <option value="200">Halvmarathon (200,00 DKK)</option> <option value="100">5,8 km (100,00 DKK)</option> <option value="50">3 km (50,00 DKK)</option> </span></font></b></select><b><font face="Verdana" style="font-size: 9pt"> <font color="#FF0000">*</font></font></b></td> </tr> <tr valign="top"> <td width="145" valign="middle"> <p align="right"><font face="Verdana" style="font-size: 9pt"> Marathon Party</font></td> <td width="214" valign="middle"> <b><font face="Verdana"><span style="font-size: 9pt"> <select size="1" name="party" disabled> <option selected value="0">-Angiv antal deltagere-</option> <option value="0">0</option> <option value="250">1 (250,00 DKK)</option> <option value="500">2 (500,00 DKK)</option> </span></font></b> </select><font face="Verdana" style="font-size: 9pt"><b> </b></font><b> <font color="#FF0000" face="Verdana" style="font-size: 9pt">*</font></b></td> </tr> <tr> <td width="145" valign="middle"> <div align="right"><span style="font-weight: 700"> <font face="Verdana" style="font-size: 9pt">Beløb i alt</font></div> </td> <td width="513" valign="middle"> <div align="left"><b><font face="Verdana" style="font-size: 9pt"> <input type="text" name="sum" size="10" readonly="true"> </font></b></div> </td> </tr> </table> </form> </body> </html> mvh
31. december 2003 - 16:36
#10
Du vil ha' at et valg på 1/2 deltagere fjerner nogle valgmuligheder i distance? Det som roenving er en god ide.. så skal du ikke til at slette options i distance.. og hvad hvis man skifter mening? Så har du et problem.. Så, disable distance: <select size="1" name="party" onchange="document.tilmelding.sum.value=parseInt(this.value)+parseInt(document.tilmelding.distance.value)+',00 DKK'; if (this.value == 0) { document.tilmelding.distance.disabled = false; } else { document.tilmelding.distance.disabled = true; }" disabled>
31. december 2003 - 16:37
#11
-- og så kunne man jo med fordel bruge samme teknik til disabling i begge selects: <select size="1" name="distance" onchange="this.form.sum.value=(+this.value)+(+this.form.party.value)+',00 DKK';this.form.party.disabled=(+this.value>100);">
31. december 2003 - 16:39
#12
-- den metode jeg nu har valgt, giver altid fortrydelsesmulighed !-) -- overse ikke mit indlæg 16:35:10
31. december 2003 - 16:40
#13
roenving> Du er genial! :).. disabled=(+this.value>100);
31. december 2003 - 16:45
#14
I er rigtig dygtige til det her!! - Tak skal I ha' - begge to! Det virker bare perfekt nu! roenving, smid et svar, så deler jeg pts. imellem jer!
31. december 2003 - 16:46
#15
Velbekomme '-)
31. december 2003 - 17:00
#16
* / / / / / / Godt nytår!
31. december 2003 - 17:02
#17
* \ \ \ \ \ \ \ -- tak for points og i lige måde ;~}
31. december 2003 - 17:03
#18
Blærerøve :)
31. december 2003 - 17:04
#19
*lol*
Vi tilbyder markedets bedste kurser inden for webudvikling