Avatar billede atlanta Nybegynder
09. august 2001 - 18:47 Der er 11 kommentarer og
1 løsning

hjælp

jeg har linket denne her kode ind i mit html dokument som en del af en validering af en form:

function validering(){
error = 0;
if ((document.forms[0].navn.value <= 14 ) && (error==0)) 
  {
    document.write(\'<br><font color=\"#ff0000\">Du skal huske at skrive dit navn</font>\');
    document.forms[0].alder.focus();
    error = 1;       
  }
if(error == 0)
document.forms[0].submit();   
}

men når jeg submitter så sletter den al teks på min side og så skriver min fejl: Du skal huske at skrive dit navn. det var ikke lige det jeg tænkte på.. jeg ville have den til bare at tilføje teksten i mit dokument så man stadig har formen med fejl meddelelsen oven over???? hvad gør jeg galt
Avatar billede atlanta Nybegynder
09. august 2001 - 18:59 #1
sorry forkert kode.. heheh har lige skrevet noget forkert:

function validering(){
error = 0;
if ((document.forms[0].navn.value == \'\' ) && (error==0)) 
  {
    document.write(\'<br><font color=\"#ff0000\">Du skal huske at skrive dit navn</font>\');
    document.forms[0].alder.focus();
    error = 1;       
  }
if(error == 0)
document.forms[0].submit();   
}
Avatar billede prof2 Nybegynder
09. august 2001 - 20:07 #2
Hvad mener du med linket denne kode ind ?? Ligger det i en anden side, kan det ske at det er der problemet er. Men jeg er ikke sikker! Skriv lige resten af koden!
Avatar billede atlanta Nybegynder
09. august 2001 - 20:38 #3
her er hele mit script:

<script language=\"JavaScript1.2\" type=\"text/javascript\">
function validering(){
error = 0;
if ((document.forms[0].navn.value == \'\') && (error==0)) 
  {
    document.write(\'<font color=\"#ff0000\">Du skal huske at skrive dit navn</font>\');
    document.forms[0].navn.focus();
    error = 1;       
  }
if(error == 0)
document.forms[0].submit();   
}
</script>

<form action=\"send.asp\" method=\"post\" onsubmit=\"validering();return false;\">
<table align=\"center\" width=\"500\">
<tr>
    <td width=\"100%\">Dit navn:</td>
    <td><input type=\"text\" name=\"navn\" size=\"30\"></td>
</tr><tr>
<td colspan=\"2\"><input type=\"submit\" value=\"Registrer\"></td>
</tr></table>
</form>


mit problem er min document.write.. når man glemmer at udfylde text boxen... den skriver det fint nok men.. den sletter alt på siden og så skrive teksten og den skal bare skrive at man har glemt at udfylde feltet over tabellen :/
Avatar billede roenving Novice
09. august 2001 - 20:49 #4
Gør det med en alert (popper op):

function validering(){
error = 0;
if ((document.forms[0].navn.value <= 14 ) && (error==0)) 
  {
    alert(\'Du skal huske at skrive dit navn\');
    document.forms[0].alder.focus();
    return false
  }
return true
}

hth
jes
Avatar billede atlanta Nybegynder
09. august 2001 - 21:21 #5
jamen jeg ville gerne have den til at gøre det så den skrev... det oprindelige script var med alert... men det gider jeg ikke have... jeg vil have den skal skrive det
Avatar billede jakoba Nybegynder
09. august 2001 - 23:01 #6
Det bliver sværet.
Det der sker er at dit document.write( ... ) kald siger til sig selv: \"Hovsa der er allerede skrevet et dokument her (siden med din form), for at få plads til at skrive noget må jeg lige slette det først.\" Og det gør det så.

I IE kan du lave tekst det \"kommer frem på siden\" veh hjælp af en <div kommando:

<div name=*fejltekst\' width=100 height=50> </div>

og så kan du lave din validering funktion som:

function validering(){
    var error = 0;
        if ((document.forms[0].navn.value <= 14 ) && (error==0)) {
        document.all[\'fejltekst\'].innerHTML=\'Du skal huske at skrive dit navn\';
        document.forms[0].alder.focus();
        return false;
    }
    return true;
};

mvh JakobA
Avatar billede Slettet bruger
10. august 2001 - 16:29 #7
Yes, jakoba har ret, men på en eller anden forunderlig måde kan www.dynamicdrive.com også i NS!? Tjek det ud, fx her:
http://www.dynamicdrive.com/dynamicindex6/dhtmlcount.htm
Jeg ved ikke præcis, hvordan de gør???
Avatar billede Slettet bruger
10. august 2001 - 16:36 #8
Aaaahhh! Nu forstår jeg! Der skal laves en ilayer og en layer, som så bliver opdateret ved hjælp af document.write (tror jeg):
<script>
<!--
function validering(){
    var error = 0;
        if ((document.forms[0].navn.value <= 14 ) && (error==0)) {
if (document.all) {
        document.all[\'fejltekst\'].innerHTML=\'Du skal huske at skrive dit navn\';
}
else {
if (document.layers){
document.ftekst.document.fetekst.document.write(\'Du skal huske at skrive dit navn\');
document.ftekst.document.fetekst.document.close();
}
        document.forms[0].alder.focus();
        return false;
    }
    return true;
};
//-->
</script>

Og så skal du indsætte:
<div name=\'fejltekst\' width=100 height=50></div>
<ilayer id=\"ftekst\" width=100; height=50><layer id=\"fetekst\" width=100; height=50;></layer></ilayer>

Det skulle vist virke?
Avatar billede Slettet bruger
10. august 2001 - 16:37 #9
Wooops, slet linjen:
if (document.layers){
Avatar billede atlanta Nybegynder
10. august 2001 - 22:35 #10
phoenixy du har fat i det forkete script jeg kom til at skrive forkert i det første script jeg skrev jeg har rette det til:

function validering(){
error = 0;
if ((document.forms[0].navn.value == \'\') && (error==0)) 
  {
    document.write(\'<font color=\"#ff0000\">Du skal huske at skrive dit navn</font>\');
    document.forms[0].navn.focus();
    error = 1;       
  }
if(error == 0)
document.forms[0].submit();   
}

kan du ikke lige lave den igen... med denne her...
Avatar billede atlanta Nybegynder
10. august 2001 - 22:38 #11
for der er da noget helt galt andet end den: if (document.layers){
Avatar billede atlanta Nybegynder
12. august 2001 - 10:36 #12
halo phoenixv.... er du gået i hi???
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