22. april 2004 - 09:26Der er
9 kommentarer og 2 løsninger
Validate document.write
Hey, jeg har en form som jeg valider og det virker som sådan godt. Men jeg har nu fået nye tanker og vil ikke bruge alert() til at skrive mine fejl ud i. Jeg vil gerne have skrevet lidt grafik ud uden at min form forsvinder, altså på samme måde som med alert() men bare med en stump grafik som ligger over formen.
Her er et eks. på hvad jeg mener.
<table> <tr> <td> Her vil jeg gerne have min fejl skrivet ud. </td> </tr> <tr> <td> <form name="cont" action="" method="post"></form> <input type="text" name="navn"> <input type="text" name="adresse"> <input type="button" value="Send" onClick="java script:validate();"> </form> </td> </tr> </table>
Jeg har prøvet med document.write men så forsvinder min form helt.
I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
For at en document.write() kan køre skal den åbne dokumentet og det medfører at det bliver tomt ...
Eneste rigtige metode er at bruge .innerHTML, som også mm12010 har brugt, du vil dog få det til at være en del lettere og effektivere, hvis du flytter kaldet op i form-tagget ( og fjerner den misforståede filprotokol java script: !-)
<script type="text/javascript"> function validate(f){ el=f.elements; for(i=0;i<el.length;i++){ if(el[i].value==""){ document.getElementById('err').innerHTML="Fejl: Alle felt skal udfyldes."; return false; } } return true; } </script>
...
<table> <tr> <td id="err"> Her vil jeg gerne have min fejl skrivet ud.</td> </tr> <tr> <td> <form name="cont" action="" method="post" onsubmit="return validate(this);"></form> <input type="text" name="navn"> <input type="text" name="adresse"> <input type="button" value="Send"> </form></td> </tr> </table>
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.