Avatar billede wolfgang Praktikant
03. oktober 2003 - 12:37 Der er 7 kommentarer og
1 løsning

To funktioner på samme form.

Hej med Jer,

Jeg har brug for at kunne afvikle to funktioner på samme form. Disse skal bruges alt efter en værdi i en DropDown.

Koden ser således ud:
<!--
val = new Array("Fast arbejde","Fraflyttet kommunen","Anden");
function disableField(dd,frm){
    for(i=0;i<val.length;i++){
        if(dd.options[dd.selectedIndex].value==val[i]){
            frm.Slutdato.value='01-01-2050';
            frm.Slutdato.disabled=false;
            break;
            }
        else{
            frm.Slutdato.value=frm.Slutdato.defaultValue;
            frm.Slutdato.disabled=false;
            }
        }
    }
   
aktiver = new Array1("Aktiver");
function SetDate(dd,frm){
    for(i=0;i<val.length;i++){
        if(dd.options[dd.selectedIndex].value==val[i]){
            frm.Slutdato.value=Date();
            frm.Slutdato.disabled=false;
            break;
            }
        else{
            frm.Slutdato.value=frm.Slutdato.defaultValue;
            frm.Slutdato.disabled=false;
            }
        }
    }
//-->

<BODY>
onLoad="disableField(document.forms['BorgerHistorik'].Aktiveringsform,document.forms['BorgerHistorik']);SetDate(document.forms['BorgerHistorik'].Aktiveringsform,document.forms['BorgerHistorik'])"
</BODY>

<SELECT TAG>
onChange="disableField(this,this.form);SetDate(this,this.form)"
</SELECT>

Problemet er at det nu er "val" arrayed der får min værdi i function SetDate i stedetfor fra sin egen function disableField.


Kan I hjælpe med dette ?

MVH
Wolfgang
Avatar billede erikjacobsen Ekspert
03. oktober 2003 - 13:45 #1
Jeg forstår ikke hvad du mener. Men er dette ikke mere korrekt:

aktiver = new Array("Aktiver");
function SetDate(dd,frm){
    for(i=0;i<aktiver.length;i++){
        if(dd.options[dd.selectedIndex].value==aktiver[i]){
Avatar billede wolfgang Praktikant
03. oktober 2003 - 13:58 #2
Hej Erik,

Prøver lige at forklare mig selv bedre.

Mit problem er at det er kun den ene af funktioner (SetDate) der virker.
disableField har ingen effekt.

Hvad skal der rettes før at begge funktioner vil virke hensigstmæssigt?

PS: Jeg har rettet koden til ifølge din kommentar - godt set!


MVH
Wolfgang
Avatar billede erikjacobsen Ekspert
03. oktober 2003 - 14:09 #3
Jeg kan li'som stadig ikke gennemskue hvad du skal have gjort...

Hvis du vil se om de første funktion virker, så indsæt alert(..) passende steder.
Avatar billede roenving Novice
03. oktober 2003 - 22:40 #4
Ihvertfald er det et problem, at du ikke har forstået, at ALT på dinside skal findes indenfor <body></body>, så:

<BODY onLoad="disableField(document.forms['BorgerHistorik'].Aktiveringsform,document.forms['BorgerHistorik']);SetDate(document.forms['BorgerHistorik'].Aktiveringsform,document.forms['BorgerHistorik'])">

<SELECT TAG onChange="disableField(this,this.form);SetDate(this,this.form)">
<option value="">-vælg-</option>
</SELECT>
Avatar billede roenving Novice
03. oktober 2003 - 22:41 #5
</body>

-- skal sæ'fø'li' sættes som slutning på formen !-)
Avatar billede wolfgang Praktikant
03. marts 2006 - 13:35 #6
Hej Roenving, vil du ikke poste et svar?

Jeg ved godt at det er længe siden, men jeg lige ved få styr på de spørgsmål jeg har hængende.

Så skal der ryddes op :)
Avatar billede roenving Novice
21. marts 2006 - 00:22 #7
Oki '-)
Avatar billede roenving Novice
22. marts 2006 - 01:37 #8
-- og tak for point ;~}
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