Avatar billede kjoller Nybegynder
08. august 2001 - 10:52 Der er 11 kommentarer og
1 løsning

funktion som ikke virker i netscape 4

Jeg ved godt at det er en gammel browser men den funktion jeg har lavet virker ikke, den kommer ikke med fejl hvis fleterene størrelse elle farve = 0

hvordan kan det være?

function validate(form){
    var isError = false;
    if(!document.forms[form].storrelse.value>0){
        isError = true
    }
    if(!document.forms[form].farve.value.length>0){
        isError = true
    }   
    if(!document.forms[form].antal.value.length>0){
        isError = true
    }   
    if(isError==true){
        alert(\'Du mangler at udfylde et eller flere af felterne\');
        return false;
    }
}
Avatar billede jakoba Nybegynder
08. august 2001 - 11:00 #1
Du mangler såmænd bare at skrive \"-er omkring dine nuller ved størrelse.
de to andre tests tester om der står \'slet ingenting\' i deres felter og det gør de helt korrekt.

function validate(form){
    var isError = false;
    if(!document.forms[form].storrelse.value>\"0\"){
        isError = true
    }
    if(!document.forms[form].farve.value.length>0){
        isError = true
    }   
    if(!document.forms[form].antal.value.length>0){
        isError = true
    }   
    if(isError==true){
        alert(\'Du mangler at udfylde et eller flere af felterne\');
        return false;
    }
}
Avatar billede kjoller Nybegynder
08. august 2001 - 11:07 #2
desværre det virker i ie og netscape 6 men ikke i netscape 4 , det den skal teste er om feltet er tomt eller om der er noget i
Avatar billede jakoba Nybegynder
08. august 2001 - 14:22 #3
function validate(form){
    var isError = false;
    if(document.forms[form].storrelse.value==\"\"){
        isError = true
    }
    if(document.forms[form].farve.value==\"\"){
        isError = true
    }   
    if(document.forms[form].antal.value==\"\"){
        isError = true
    }   
    if(isError==true){
        alert(\'Du mangler at udfylde et eller flere af felterne\');
        return false;
    }
}

mvh Jakoba
Avatar billede kjoller Nybegynder
08. august 2001 - 14:25 #4
nope desværre heller ikke
Avatar billede jakoba Nybegynder
08. august 2001 - 18:20 #5
Ku det være du simpelthen har stavet felternes navne anderledes der hvor du definerer feltnavne til felterne i formen?

eg:
<input name=\'størrelse\' type=\'text\'>  <!-- dansk ø -->
<input name=\'Farve\' type=\'text\'>      <!-- stort F istedet for lille f -->

Har alle felterne  type=\'text\' ?
Avatar billede kjoller Nybegynder
09. august 2001 - 11:29 #6
Nej heller ikke, jeg bruger kun små bokstaver og ikke æ,ø eller å af samme grund.

Nej har størrelse og farve er af typen \"select\"
Avatar billede jakoba Nybegynder
09. august 2001 - 13:40 #7
Der var det. Select har ikke .value på den måde. Vi skal vælge \'den valgte value\':

function validate(form){
    var isError = false;
    var temp = document.forms[form].storrelse;
    if(temp[temp.selectedIndex].value<=0){
        isError = true
    };
    temp = document.forms[form].farve;
    if(temp[temp.selectedIndex].value<=0){
        isError = true
    }; 
    if(document.forms[form].antal.value<=0){
        isError = true
    } 
    if(isError==true){
        alert(\'Du mangler at udfylde et eller flere af felterne\');
        return false;
    }
}

mvh JakobA
Avatar billede kjoller Nybegynder
17. august 2001 - 10:15 #8
Jeg beklager den lange vente tid, men det virker heller ikke, den submitter bare 
Avatar billede jakoba Nybegynder
17. august 2001 - 10:49 #9
Kan du give et link til siden?  eller evt paste hele din formular ind her?
Avatar billede kjoller Nybegynder
17. august 2001 - 10:54 #10
Her kommer det:

<table width=\"100%\" height=\"92%\" border=\"0\"  cellspacing=\"0\" cellpadding=\"0\"><tr><td width=\"100%\" valign=\"bottom\" align=\"center\" class=\"normal\">

<script language=\"JavaScript\">
<!--
function validate(form){
    var isError = false;
    var temp = document.forms[form].storrelse;
    if(temp[temp.selectedIndex].value<=0){
        isError = true
    };
    if(!document.bestil.farve.value.length>0){
        isError = true
    }   
    if(!document.bestil.antal.value.length>0){
        isError = true
    }   
    if(isError==true){
        alert(\'Du mangler at udfylde et eller flere af felterne\');
        return false;
    }
}
// -->
function changeImg(imgName, target) {
  document.all[target].src = \"../grafik/\" + imgName;
// document.frame[0].elements[target].src = \"../grafik/\" + imgName;


}

</script>   

<table border=\"0\" width=\"90%\" height=\"100%\" cellspacing=\"0\" cellpadding=\"0\">
    <tr>
   
            <form action=\"lagkurv.asp\" method=\"get\" name=\"bestil\" target=\"bund\">
            <input type=\"hidden\" name=\"skoid\" value=\"1\">
            <input type=\"hidden\" name=\"modelid\" value=\"26574\">
            <input type=\"hidden\" name=\"vare\" value=\"Track Terrian\">
        <td valign=\"top\">
        <img src=\"../grafik/ecco_blank.gif\" width=\"0\" height=\"30\">
           
            <table width=\"202\"  border=\"1\" cellspacing=\"0\" cellpadding=\"0\" bordercolor=\"#000000\" bordercolorlight=\"#000000\" bordercolordark=\"#000000\" bgcolor=\"White\">
                <tr>
                    <td class=\"normal\" valign=\"top\">
                        <img src=\"../grafik/pic0001.jpg\" >
                    </td>
                </tr>
                <tr>
                    <td class=\"normal\" valign=\"top\">
                        <br>
                        <img src=\"../grafik/ecco_blank.gif\" width=\"10\" height=\"1\">En god løbe sko<br>
                        <br>
                       
                    </td>
                </tr>
            </table>
        </td>
        <td valign=\"top\">
            <img src=\"../grafik/ecco_blank.gif\" width=\"10\" height=\"30\">
            <table border=\"0\" cellpadding=\"5\" cellspacing=\"0\" width=\"350\">
                <tr bgcolor=\"#BDBEB5\">
                    <td class=\"normal\" >
                        <select name=\"farve\" class=\"normal\">
                            <option value=\"\">Vælg en farve/materiale </option>
                           
                            <option value=\"1\">Sort</option>
                           
                            <option value=\"2\">Blå</option>
                           
                            <option value=\"3\">HVid</option>
                           
                            </select>
                               
                       
                    </td>
                    <td class=\"normal\">
           
                        <select name=\"storrelse\" class=\"normal\" name=\"bestil\">
                        <option value=\"\">Vælg en størrelse </option>
                       
                        <option value=\"5\">40</option>
                       
                        <option value=\"6\">41</option>
                       
                        <option value=\"7\">42</option>
                       
                        <option value=\"8\">43</option>
                       
                        <option value=\"9\">44</option>
                       
                        <option value=\"10\">45</option>
                       
                        </select>
                   
                    </td>
                    <td class=\"normal\">
                        <input type=\"text\" name=\"antal\" value=\"1\" size=\"1\" class=\"normal\">
                    </td>
                    <td class=\"normal\">
                        <input type=\"Image\" src=\"../grafik/vogn.GIF\" name=\"pic\" border=\"0\" onclick=\"return(validate(\'bestil\'))\" onMouseover=\"changeImg(\'vogn_over.gif\', \'pic\')\" onMouseout=\"changeImg(\'vogn.gif\', \'pic\')\" >
                    </td>
                </tr>
                <tr>
                    <td>
                        <img src=\"../grafik/ecco_blank.gif\" width=\"1\" height=\"10\">
                    </td>
                </tr>
            </table>
            <table border=\"0\"  width=\"350\">
                <tr valign=\"bottom\">
                    <td valign=\"top\" class=\"normal\" >
                       
                    </td>
                </tr>
                <tr>
                    <td>
                        <img src=\"../grafik/ecco_blank.gif\" width=\"1\" height=\"30\">
                    </td>
                </tr>
                <tr valign=\"bottom\">
                    <td height=\"20%\" valign=\"bottom\">
                        <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\"  width=\"348\" >
                            <tr>
                                <td bgcolor=\"#315984\" class=\"hvid\">
                                    <b>&nbsp;&nbsp;DKK 1,250.00&nbsp;&nbsp;/&nbsp;&nbsp;
                                    875.00&nbsp;&nbsp;</b>
                                </td>
                                <td>
                                    <img src=\"../grafik/ecco_blank.gif\" width=\"80\" height=\"1\">
                                </td>
                                <td align=\"right\" bgcolor=\"#315984\" class=\"hvid\">
                                    <b>&nbsp;&nbsp;<a href=\"indkobsvogn.asp\" class=\"a3\">Vis indkøbskurv</a>&nbsp;&nbsp;</b>
                                </td>
                            </tr>
                        </table>
                    </td>
                </tr>
            </table>
        </form>
        </td>
    </tr>
</table>

</td></tr></table>

Avatar billede jakoba Nybegynder
17. august 2001 - 12:06 #11
Der er en hel del fejl i din html-kode.

din <form kommando og de 3 skjulte felter ligger imellem en <tr> kommando og en <td> kommando. det er ukorrekt og vil blive handteret meget forskelligt i diverse browsere.
de bør enten ligge helt udenfor tabellen eller helt indeni en <TD> kommandoen.


Din <form kommando og din </form kommando ligger ikke på samme nesting-niveau. Det bør de.
Den faste regel er at 2-delte html-kommandoer aldrig må overlappe hinanden.
dvs:
<cmd_1> </cmd_1> <cmd_2> </cmd_2>    OK. (ved siden af hinanden)

<cmd_1> <cmd_2> </cmd_2> </cmd_1>    OK. (kommando_2 helt indeni)

men:
<cmd_1> <cmd_2> </cmd_1> </cmd_2>    FY FY skamme. ikke OK.
                                  (kommando_2 starter indeni men slutter udenfor)


Jeg har fjeret de kommadoer der laver dine tabeller så vi kan se hvordan formen virker.


validerings funktionen skal ikke ligge som en onclick-handeler i din submit-knap, men som en onsubmit-handler i din <form kommando:

  <input type=\"Image\" src=\"../lady1515.gif\" name=\"pic\" border=\"0\" onclick=\"return(validate(\'bestil\'))\" >
ændret til:
  <input type=\"Image\" src=\"../lady1515.gif\" name=\"pic\" border=\"0\">

  <form action=\"lagkurv.asp\" method=\"get\" name=\"bestil\" target=\"bund\">
ændret til:
  <form action=\"lagkurv.asp\" method=\"get\" name=\"bestil\" target=\"bund\"
      onsubmit=\"return validate(\'bestil\')\">


i din select kommando med name=\'størrelse\' står der også name=\'bestil\'. Hver parameter må kun optræde een gang.

  <select name=\"storrelse\" class=\"normal\" name=\"bestil\">
ændret til:
  <select name=\"storrelse\" class=\"normal\">


jeg har tilføjet en linie
    return true;
til din funktion validate så den returnerer true hvis der ikke blev fundet nogen fejl.


Og så ser det ud til at virke.
se: http://hjem.get2net.dk/Jakob.Aggernaes/temp/exp96327.html
(der komme stadig en fejl, men det er fordi din fil  \'lagkurv.asp\'  ikke ligger på min server)

mvh JakobA
Avatar billede kjoller Nybegynder
17. august 2001 - 13:05 #12
Jeg kan godt se hvad du mener, det er en fejl at den ikke ligger på samme niveau, for det plejer jeg at jolde øje med, men den er altså smuttet.

Grunden til at jeg har lagt form start mellem en <tr> og <td> er at selv om det et hidden har jeg set at i ældre browsere kan den lave et lille mellem alligevellet.

Men det der gjordt udslaget var at der kom tjek på den begge, jeg havde kun lavet det på  storrelse, samt at du så at der var kommet name=\"bestil\" ind under storrelse (selv om at det virkede alligevellet, med det på lidt underligt?!?!)

Men jeg takker for hjælpen
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