Avatar billede meo Nybegynder
13. december 2001 - 18:34 Der er 3 kommentarer og
2 løsninger

validering med både selectbox og input(tekst)

Hej,
Jeg kan ikke lige få dette til at virke!!

<script type=\'text/javascript\'>
//funktion til lukke for inputfelt
    function setVisibility( elm ) {
        var onoff = (elm.disabled)?true:false;
        if ( ! document.layers ) elm = elm.style;
            elm.visibility = ( onoff ) ? \'hidden\' : \'visible\';
    }; //end setVisibility

    //check that input is correct format
    function nyDato( felt ) {
        var mitFormat = /^\\d{4}$/; // definerer yyyy-mm-dd formatet /^\\d{4}-\\d{2}-\\d{2}$/
        if ( !mitFormat.test( felt.value ) ) return false;
    }
    //validering af input
    function validateForm(thisform) {
   
    strError = \'Der opstod følgende fejl:\\n\\n\';
    intError = 0;
    var yeardag;
    var yearperiode ;
    var month1;
    var month2;

    if ( !( yeardag=nyDato(thisform.yeardag) )) {
        intError = 1;
        strError = strError + \'Indtast gyldig årstal.\\n\'
        thisform.dag.focus();
    }

    if ( !( yearperiode =nyDato( thisform.yearperiode) )) {
        intError = 1;
        strError = strError + \'Indtast gyldig årstal.\\n\\n\'
        thisform.periode.focus();
    }
   
    if(intError==0 && (this.form.select2.disabled==true) && (this.form.periode.disabled==true)){
        if ( yeardag.valueOf() > yearperiode.valueOf() ) {
            intError = 1;
            strError = strError + \'-Slutårstallet må ikke være mindre end startåret. \\n\'
            thisform.yearperiode.focus();
        }
        else if ( yeardag.valueOf() == yearperiode.valueOf() && month1.valueOf() >= month2.valueOf() ) {
            intError = 1;
            strError = strError + \'-Slutperioden må ikke være mindre end starperioden. \\n\'
            thisform.yearperiode.focus();
        }

    }
    if (intError > 0) {
    alert(strError)
    return false;
    }
    else {
          return true          // OK, formen må submittes
      }

}

</script>
   
    <h2>Hvad vil du foretag dig?</h2>
    <form action=\"test.php\" METHOD=POST onSubmit=\"return validateForm(this);\">
        Se en bestemt periode:    <input type=\'radio\' name=\'frmtype\' onclick=\"this.form.select2.disabled=true;setVisibility(this.form.select2);this.form.periode.disabled=true;setVisibility(this.form.periode);\"><br>
        Sammenligne to perioder: <input type=\'radio\' name=\'frmtype\' onclick=\"this.form.select2.disabled=false;setVisibility(this.form.select2);this.form.periode.disabled=false;setVisibility(this.form.periode);\"><br><br>
        <select name=\"select1\">
            <option value=\"01\">Jan</option>
            <option value=\"02\">Feb</option>
            <option value=\"03\">Mar</option>
            <option value=\"04\">Apr</option>
            <option value=\"05\">Maj</option>
            <option value=\"06\">Jun</option>
            <option value=\"07\">Jul</option>
            <option value=\"08\">Aug</option>
            <option value=\"09\">Sep</option>
            <option value=\"10\">Okt</option>
            <option value=\"11\">Nov</option>
            <option value=\"12\">Dec</option>
        </select>
        <input type=\'text\' name=\'dag\' value=\"2001\" size=\"4\">
       
        <br>To: <br>
        <select name=\"select2\">
            <option value=\"01\">Jan</option>
            <option value=\"02\">Feb</option>
            <option value=\"03\">Mar</option>
            <option value=\"04\">Apr</option>
            <option value=\"05\">Maj</option>
            <option value=\"06\">Jun</option>
            <option value=\"07\">Jul</option>
            <option value=\"08\">Aug</option>
            <option value=\"09\">Sep</option>
            <option value=\"10\">Okt</option>
            <option value=\"11\">Nov</option>
            <option value=\"12\">Dec</option>
        </select>

        <input type=\'text\' name=\'periode\' value=\"2001\" size=\"4\" onfocus=\"if(this.disabled)this.blur();\">
        <input type=\'reset\' value=\" RESET \">
        <input type=\'submit\' value=\" SUBMIT \">

Lige nu siger den fejl ved \"if ( !mitFormat.test( felt.value <--) )\"
At den ikke kender value!
Avatar billede nikolajdu Nybegynder
13. december 2001 - 18:59 #1
Du kalder funktionen med : (thisform.yeardag)

Du har intet formfelt der hedder yearday.
Avatar billede meo Nybegynder
13. december 2001 - 22:08 #2
Sorry, måtte lige se DK slå Østrig! :o)
(thisform.yeardag)
til
(thisform.dag)

Ja det er rigtigt og har rettet det!!
Desuden:
if(intError==0 && (this.form.select2.disabled==true) && (this.form.periode.disabled==true)){

til

if(intError==0 && (this.form.select2.disabled==false) && (this.form.periode.disabled==false)){
Avatar billede meo Nybegynder
13. december 2001 - 23:26 #3
Hvorfor kan jeg ikke lægge en værdi til radiobuttons som f.eks
<input type=\'radio\' name=\'frmtype\' value=\"1\" ...

og så i validering skrive:
if(intError==0 && thisform.frmtype.value==1){

}
Avatar billede meo Nybegynder
14. december 2001 - 00:15 #4
Har fået det løst!!
Avatar billede nikolajdu Nybegynder
14. december 2001 - 08:09 #5
fino fino :))
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