Avatar billede macho Praktikant
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
Avatar billede thesurfer Nybegynder
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; }">
Avatar billede thesurfer Nybegynder
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 :)
Avatar billede thesurfer Nybegynder
31. december 2003 - 16:03 #3
x = nikolajdu :) (dovenskab)
Avatar billede thesurfer Nybegynder
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".
Avatar billede thesurfer Nybegynder
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..
Avatar billede macho Praktikant
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
Avatar billede roenving Novice
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]
Avatar billede roenving Novice
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">&nbsp;
<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 !-)
Avatar billede macho Praktikant
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">&nbsp;<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
Avatar billede thesurfer Nybegynder
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>
Avatar billede roenving Novice
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);">
Avatar billede roenving Novice
31. december 2003 - 16:39 #12
-- den metode jeg nu har valgt, giver altid fortrydelsesmulighed !-)

-- overse ikke mit indlæg 16:35:10
Avatar billede thesurfer Nybegynder
31. december 2003 - 16:40 #13
roenving> Du er genial! :).. disabled=(+this.value>100);
Avatar billede macho Praktikant
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!
Avatar billede roenving Novice
31. december 2003 - 16:46 #15
Velbekomme '-)
Avatar billede macho Praktikant
31. december 2003 - 17:00 #16
*
    /
    /
  /
  /
/
/
 
Godt nytår!
Avatar billede roenving Novice
31. december 2003 - 17:02 #17
*
  \
    \
      \
        \
          \
            \
              \

-- tak for points og i lige måde ;~}
Avatar billede thesurfer Nybegynder
31. december 2003 - 17:03 #18
Blærerøve :)
Avatar billede roenving Novice
31. december 2003 - 17:04 #19
*lol*
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester