Avatar billede flash-man Nybegynder
07. juni 2002 - 11:47 Der er 31 kommentarer og
1 løsning

2 Hurtige...

Hej Eksperter!

Jeg har lige 2 hurtige JavaScript spørgsmål som jeg håber I vil kunne svare på..

1: Jeg har to <input>-felter, men det ene er kun vigtigt, hvis det første er blevet udfyldt..

Eks.......................

<input type="text" name="url">
<input type="text" name="titel" disabled>

....................../Eks

Så hvordan gør jeg så'n så titel-feltet kun bliver aktiveret, hvis der står noget i url-feltet??

2: Jeg har 3 <select>-boxe, hvor jeg gerne ville have det så'n så hvis der er ikke er blevet valgt noget så kommer der en besked når man submitter, om at alle felter ikke er udfyldt korrekt, eller noget i den stil..

Eks.......................

<select name="hvordan">
<option>--Vælg
<option>Link
<option>Søgemaskine
</select>

....................../Eks

Så, hvis den står på vælg så kommer den besked som jeg beskrev ovenover..

</FlashMan!>
Avatar billede jakoba Nybegynder
07. juni 2002 - 12:04 #1
1) sæt en onkeyup i første felt:

<input type="text" name="url" onkeyup="this.form.tiltel.disabled=(this.value.length==0);">
<input type="text" name="titel" disabled>

(ps den kan omgås ved museselect og cut/paste. så hvis det er vigtigt skal også tages højde for.

2) tilføj i din valideringsfunktion:

    if ( document.formNavn.hvordan.selectetIndex == 0 ) {
        // der er ikke valgt noget i selectboksen 'hvordan'
        return false;  // eller hvodan du nu afviser.
    }

mvh JakobA
Avatar billede gizmo-gizmo Nybegynder
07. juni 2002 - 12:05 #2
1.
<form name="form">

<script type="text/javascript">
function tjek() {
    url = document.form.url.value;
    if (url!='') {
        document.form.titel.disabled=false;
    }
}
</script>

<input type="text" name="url" OnKeyDown="tjek();">
<input type="text" name="titel" disabled>
Avatar billede gizmo-gizmo Nybegynder
07. juni 2002 - 12:05 #3
Ja, jakoba's var da vist lidt nemmere *GG*
Avatar billede gizmo-gizmo Nybegynder
07. juni 2002 - 12:08 #4
flash-man >> hvis du ikke kan få jakobs til at virke, så vær lige opmærksom på, at der er en stavefejl (tiltel)..
Avatar billede jakoba Nybegynder
07. juni 2002 - 12:22 #5
Ups.  Ja, det er rigtigt.  Og endda også en i 2)
    selectetIndex  skal være  selectedIndex  (med 'd')
Avatar billede flash-man Nybegynder
07. juni 2002 - 12:26 #6
tak for svarene.. men lige en lille en mere..

kan man ikke gøre et eller andet så det gælder for alle <select>-boxe på en gang??

da jeg bruger et hosted script til mit formular

<FORM action="http://pub26.bravenet.com/emailfwd/senddata.asp" method="post">

hvordan gør jeg så så'n at din funktion kommer med, før den sender formularet??

Lige et lille eks...

<script language="JavaScript">
function sendform(){
    if ( document.formNavn.hvordan.selectetIndex == 0 ) {
        // der er ikke valgt noget i selectboksen 'hvordan'
        return false;  // eller hvodan du nu afviser.
    }
}
location.href = "http://pub26.bravenet.com/emailfwd/senddata.asp";
</script>

Eller, hvordan skal det gøres??
Avatar billede flash-man Nybegynder
07. juni 2002 - 12:27 #7
jakoba > Lige stået op? =)
Avatar billede jakoba Nybegynder
07. juni 2002 - 12:37 #8
for 5 timer siden. Så jeg må nok se i øjnene at det er min normaltilstand :((


<FORM action="http://pub26.bravenet.com/emailfwd/senddata.asp" method="post"
      onsubmit="return sendform();">

hvordan gør jeg så så'n at din funktion kommer med, før den sender formularet??

Lige et lille eks...

<script language="JavaScript">
function sendform(){
    temp = document.formNavn.elements;  // formens array af felter, checkbokse osv
    for (var i=0; i<temp.length; i++ ) {
        if ( temp[i].type="select-one" && temp[i].selectetIndex == 0 ) {
            // der er ikke valgt noget i selectboksen 'hvordan'
            return false;  // eller hvodan du nu afviser.
        }
    }
}
//din linie nedenfor forstår jeg slet ikke. hvad er meningen med den?
// location.href = "http://pub26.bravenet.com/emailfwd/senddata.asp";
</script>

mvh JakobA
Avatar billede jakoba Nybegynder
07. juni 2002 - 12:41 #9
og lige et ekstra lighedtegn i betingelsen:
        if ( temp[i].type=="select-one" && temp[i].selectetIndex == 0 ) {
Avatar billede flash-man Nybegynder
07. juni 2002 - 12:44 #10
den nederste er til, hvis der er blevet valgt noget så skal den hente linket, men ellers så skal der bare komme en alert-box.. Men ser først nu at det var lidt malplaceret =)
Avatar billede flash-man Nybegynder
07. juni 2002 - 12:46 #11
fordi der er jo ingen grundt til at den sender formularet, hvis det ikke er korrekt udfyldt..
Avatar billede jakoba Nybegynder
07. juni 2002 - 12:57 #12
du kan evt sætte din alert ind i stedetfor linien:
            // der er ikke valgt noget i selectboksen 'hvordan'
så det bliver:
            alert( "der er ikke valgt noget i selectboksen " +temp[i].name );

tak for pts
Avatar billede flash-man Nybegynder
07. juni 2002 - 13:00 #13
ok.. Men sørger den så osse for at formularet kun bliver sendt, hvis det hele passer som det skal??
Avatar billede flash-man Nybegynder
07. juni 2002 - 13:03 #14
Og hvis du endnu ikke er blevet træt så har jeg lige en 'lille' en mere =)

Jeg ville gerne have det så'n at det blev først muligt at skrive i feltet, hvis checkboxen er blevet valgt.., og at det bliver disabled'edet igen hvis man fjerner V'et i checkboxen..

<input type="checkbox" name="billede1" value="ja">
<input size="40" type="text" value="dsf" name="billede-url1" disabled>

Det var vidst nok det sidste i denne omgang =)
Avatar billede jakoba Nybegynder
07. juni 2002 - 13:05 #15
nånej, for søren vi skal jo sørge for at der bliver returneret true hvia forløkken kører helt igennem uden at blive afbrudt af return false.

function sendform(){
    temp = document.formNavn.elements;  // formens array af felter, checkbokse osv
    for (var i=0; i<temp.length; i++ ) {
        if ( temp[i].type=="select-one" && temp[i].selectetIndex == 0 ) {
            alert( "der er ikke valgt noget i selectboksen " +temp[i].name );
            return false;  // eller hvodan du nu afviser.
        }
    }
    return true;  // alt gik godt. send formularen
}

mvh JakobA
Avatar billede jakoba Nybegynder
07. juni 2002 - 13:13 #16
det er næsten det samme som før:

<input type="checkbox" name="billede1" value="ja"
  onclick="this.form.elements['billede-url1'].disabled = ( ! this.checked );>
<input size="40" type="text" value="dsf" name="billede-url1" disabled>

det er muligt  ( ! this.checked )  skal være  ( this.checked )  istedetfor. test og ret.

Du bør såvidt det overhovedet er muligt undgå navne med bindestreg i. Jeg tror det går her, men hvis jeg istedet havde adresseret med:
            this.form.billede-url1.disabled    // fejleksempel
ville javascript tro den skulle trække  url1.disabled  fra  form.billede  og gå totalt i kage.
Avatar billede flash-man Nybegynder
07. juni 2002 - 13:14 #17
function sendform(){
    temp = document.tilmeld.koen;
    for (var i=0; i<temp.length; i++ ) {
        if ( temp[i].type=="select-one" && temp[i].selectetIndex == 0 ) {
            alert( "Der er ikke valgt noget " +temp[i].name+);
            return false;
        }
    }
    return true;  // alt gik godt. send formularen
}

Den siger at der er fejl..!
Avatar billede flash-man Nybegynder
07. juni 2002 - 13:15 #18
jeg har bare lige lavet det om til "køn" i stedet for alle elementer..
Avatar billede jakoba Nybegynder
07. juni 2002 - 13:15 #19
Ups igen.  mangler afsluttende " tegn i  onclick strengen.

Faktisk er alle de stavefejl noget jeg laver af pædagogiske årsager, for at du også skal lære noget af det istedet for blor at cut&paste noget uforståeligt ind (det ku da være der er nogen der tror på den:)
Avatar billede flash-man Nybegynder
07. juni 2002 - 13:18 #20
ok.. checkboxen virker =) minder dig lige om at du havde glemt et " i slutningen i <input type="checkbox"....> =)
Avatar billede jakoba Nybegynder
07. juni 2002 - 13:19 #21
Halleluja, dennegag er fejlen DIN. 
Fjern det + der står lige foran ) i alerten. det skal ikke være der.
Avatar billede flash-man Nybegynder
07. juni 2002 - 13:22 #22
<script language="JavaScript">
function sendform(){
    temp = document.tilmeld.kon;
    for (var i=0; i<temp.length; i++ ) {
        if ( temp[i].type=="select-one" && temp[i].selectetIndex == 0 ) {
            alert( "Der er ikke valgt noget i " +temp[i].name);
            return false;
        }
    }
    return true;  // alt gik godt. send formularen
}
</script>

<FORM onSubmit="sendform()" name="tilmeld" action="http://pub26.bravenet.com/emailfwd/senddata.asp" method="post">

Den siger stadig fejl..
Avatar billede flash-man Nybegynder
07. juni 2002 - 13:24 #23
Er der noget der skal laves om her??

<select name="kon">
<option>
<option>Mand
<option>Kvinde
</select>
Avatar billede jakoba Nybegynder
07. juni 2002 - 13:25 #24
hvad pokker er koen ?  hvor er det defineret og hvordan?
Avatar billede flash-man Nybegynder
07. juni 2002 - 13:28 #25
koen er istedet for at skrive køn.. =)
Avatar billede jakoba Nybegynder
07. juni 2002 - 13:29 #26
temp = document.tilmeld.elements;    // rettet tilbage igen.

elements er et array hvor ALLE dine select bokse er med.

kon er kun den ene selectboks der har name='kon' (og det må der ikke være 2 select bokse der har)
Avatar billede flash-man Nybegynder
07. juni 2002 - 13:29 #27
javascript er ikke så meget for danske tegn vel??
Avatar billede jakoba Nybegynder
07. juni 2002 - 13:30 #28
Naee. æ, ø og å er helt ulovlige at bruge i navne.
Avatar billede flash-man Nybegynder
07. juni 2002 - 13:31 #29
jeg er ked af det men den siger stadig fejl.. og der er kin et felt der hedder "kon" men kan det være fordi jeg har brugt "-" i name-felterne??
Avatar billede flash-man Nybegynder
07. juni 2002 - 13:32 #30
det var osse det jeg tænkte, derfor bruger jeg ae oe aa
Avatar billede jakoba Nybegynder
07. juni 2002 - 13:33 #31
det kan det godt være.  prøv uden.
Avatar billede flash-man Nybegynder
07. juni 2002 - 13:35 #32
jeg prøver det senere, har ikke tid nu.. jeg skal af sted..

er tilbage på mandag =)
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