Avatar billede remo27 Nybegynder
25. juli 2007 - 21:23 Der er 12 kommentarer og
1 løsning

Hjælp til Validering af formular

Jeg har denne formular som sender data til en database, nun har jeg prøvet at lave en validering på nogle af felterne i min formular, men når jeg afprøver min formular, uden at indtaste noget i min fomular sker der ikke noget, hvad er der galt med min Validering.

<script language="JavaScript">
<!--

function Checkform(thisform) {
  // Startværdier
  strError = 'Der opstod følgende fejl:\n\n';
  intError = 0;
 
 
// Check Navn, er den tom
  if (thisform.navn.value == "")
  {
  strError = strError + '-Navn mangler\n'
  intError = 1;
  thisform.navn.focus();

  }   
 

// Check adresse, er den tom
  if (thisform.adresse.value == "")
  {
  strError = strError + '-Adresse mangler\n'
  intError = 1;
  thisform.adresse.focus();

  } 

 
// Check postnr, er den tom
  if (thisform.postnr.value == "")
  {
  strError = strError + '-Postnr mangler\n'
  intError = 1;
  thisform.postnr.focus();

  } 



// Check By, er den tom
  if (thisform.city.value == "")
  {
  strError = strError + '-By mangler\n'
  intError = 1;
  thisform.city.focus();

  } 


  //Check Email,  er den tom
  if (thisform.Email.value == "")
  {
  strError = strError + '-Email mangler\n'
  intError = 1;
  thisform.Email.focus();
     

  }
  // Check for @ i email
  if (thisform.Email.value.indexOf("@") == -1 && thisform.Email.value != "")
  {
  strError = strError + '-Mangler @ i emailadresse\n'
  intError = 1;
  thisform.Email.focus();

  } 


  // Check Ledige pladser, er den tom
  if (thisform.lp.value == "")
  {
  strError = strError + '-Ledige pladser mangler\n'
  intError = 1;
  thisform.lp.focus();

  } 

  // Check Nystartet dato, er den tom
  if (thisform.nyd.value == "")
  {
  strError = strError + '-Nystartet dato mangler\n'
  intError = 1;
  thisform.nyd.focus();

  }


  // Check Brugernavn, er den tom
  if (thisform.brugernavn.value == "")
  {
  strError = strError + '-Brugernavn mangler\n'
  intError = 1;
  thisform.brugernavn.focus();

  }

  // Check Password, er den tom
  if (thisform.kodeord.value == "")
  {
  strError = strError + '-Password mangler\n'
  intError = 1;
  thisform.kodeord.focus();

  }
 
 
  if (intError == 1) {
  alert(strError)
  return false;
  }
 
}

-->
</script>




<center>
  <table border="0" cellpadding="0" cellspacing="0" bordercolor="#111111" width="60%">
  <form action="opretdp_ac.asp" method="post" onSubmit="return Checkform(this);">
    <tr>
      <td width="60%" colspan="2" align="center" class="topbar" >Opret dig her</td>
    </tr>
    <tr>
      <td width="60%">Navn<br><input type="text" name="navn" size="50"></td>
    </tr>
    <tr>
      <td width="60%">Adresse<br><input type="text" name="adresse" size="50"></td>
    </tr>
    <tr>
      <td width="60%">Postnr<br><input type="text" name="postnr" size="50"></td>
    </tr>
    <tr>
      <td width="60%">By<br><input type="text" name="city" size="50"></td>
    </tr>
    <tr>
      <td width="60%">Telefon nr.<br><input type="text" name="tlf" size="50"></td>
    </tr>
        <tr>
      <td width="60%">Mobil<br><input type="text" name="mobil" size="50"></td>
    </tr>
        <tr>
      <td width="60%">Email<br><input type="text" name="email" size="50"></td>
    </tr>
        <tr>
      <td width="60%">web<br><input type="text" name="web" size="50"></td>
    </tr>
        <tr>
      <td width="60%">Sted<br><input type="text" name="sted" size="50"></td>
    </tr>
        <tr>
      <td width="60%">Ledige pladser.<br><input type="text" name="lp" size="50">feks. 01-10-07</td>
    </tr>
        <tr>
      <td width="60%">Nystartet dato<br><input type="text" name="nyd" size="50">feks. 01-03-05</td>
    </tr>
    <tr>
    <td width="60%" >Tekst<br><textarea rows="5" name="tekst" cols="38"></textarea></td>
    </tr>
        <tr>
      <td width="60%">Brugernavn<br>
      <input type="text" name="brugernavn" size="50"></td>
    </tr>
        <tr>
      <td width="60%">Password<br>
      <input type="password" name="kodeord" size="50"></td>
    </tr>
        <tr>
      <td width="60%">Tilmeld dig www.deprivatedagplejere.dk</td>
    </tr>
        <tr>
<td width="60%"><input type="checkbox" name="tilmeldanden" value="1"></td>
</tr>
    <tr>
      <td width="60%" colspan="2" align="center"  class="topbar">
    <input type="hidden" name="pic1" value="dummie.jpg" >
    <input type="hidden" name="pic2" value="dummie.jpg" >
    <input type="hidden" name="pic3" value="dummie.jpg" >
  <input type="submit" value="Opret" name="tilmeld"><input type="reset" value="Fortryd" name="Fortryd"></td>
    </form>
    </tr>
   
  </table>
  </center>
Avatar billede w13 Novice
25. juli 2007 - 21:33 #1
Nu har jeg selv afprøvet den, og umiddelbart ville jeg sige det lader til, at du skal tjekke på et id i stedet for på et name. Altså rette alle:
thisform.navn (og lign.)
til:
document.getElementById("navn")

Da javascriptfunktionen bliver sat ud af funktion første gang den når "thisform.navn".
Og så skal du selvfølgelig tilføje id'erne på alle inputs.
Avatar billede w13 Novice
25. juli 2007 - 21:33 #2
Dvs. bare én eneste forekomst af eks. thisform.navn får din kode til at blive sat ud af drift.
Avatar billede kalp Novice
25. juli 2007 - 21:37 #3
det vil muligvis også hjælpe hvis du giver dine inputs id'er!

<td width="60%">Navn<br><input type="text" name="navn" size="50">
til
<td width="60%">Navn<br><input type="text" id="navn" name="navn" size="50">

f.eks
Avatar billede kalp Novice
25. juli 2007 - 21:44 #4
hvis du giver elementerne et ID og bruger denne javascript så virker det.


<script language="JavaScript">
<!--

function Checkform(thisform) {
  // Startværdier
  strError = 'Der opstod følgende fejl:\n\n';
  intError = 0;
 
 
// Check Navn, er den tom
  if (thisform.navn.value == "")
  {
  strError = strError + '-Navn mangler\n'
  intError = 1;
  thisform.navn.focus();

  }   
 

// Check adresse, er den tom
  if (thisform.adresse.value == "")
  {
  strError = strError + '-Adresse mangler\n'
  intError = 1;
  thisform.adresse.focus();

  } 

 
// Check postnr, er den tom
  if (thisform.postnr.value == "")
  {
  strError = strError + '-Postnr mangler\n'
  intError = 1;
  thisform.postnr.focus();

  } 



// Check By, er den tom
  if (thisform.city.value == "")
  {
  strError = strError + '-By mangler\n'
  intError = 1;
  thisform.city.focus();

  } 


  //Check Email,  er den tom
  if (thisform.email.value == "")
  {
  strError = strError + '-Email mangler\n'
  intError = 1;
  thisform.email.focus();
     

  }
  // Check for @ i email
  if (thisform.email.value.indexOf("@") == -1 && thisform.email.value != "")
  {
  strError = strError + '-Mangler @ i emailadresse\n'
  intError = 1;
  thisform.email.focus();

  } 


  // Check Ledige pladser, er den tom
  if (thisform.lp.value == "")
  {
  strError = strError + '-Ledige pladser mangler\n'
  intError = 1;
  thisform.lp.focus();

  } 

  // Check Nystartet dato, er den tom
  if (thisform.nyd.value == "")
  {
  strError = strError + '-Nystartet dato mangler\n'
  intError = 1;
  thisform.nyd.focus();

  }


  // Check Brugernavn, er den tom
  if (thisform.brugernavn.value == "")
  {
  strError = strError + '-Brugernavn mangler\n'
  intError = 1;
  thisform.brugernavn.focus();

  }

  // Check Password, er den tom
  if (thisform.kodeord.value == "")
  {
  strError = strError + '-Password mangler\n'
  intError = 1;
  thisform.kodeord.focus();

  }
 
 
  if (intError == 1) {
  alert(strError)
  return false;
  }
 
}

-->
</script>
Avatar billede w13 Novice
25. juli 2007 - 21:45 #5
det er jo det, jeg siger :P ..eller i hvert fald forsøgte at sige..
Avatar billede w13 Novice
25. juli 2007 - 21:45 #6
nå ja, tænkte slet ikke på, at det slet ikke var nødvendigt at rette i funktionen.
Avatar billede kalp Novice
25. juli 2007 - 21:46 #7
w13 >>

fejlen lå ikke ID'et.. men han kan ligeså godt tilføje det da det er pænest.

Problemet lå i scriptet  - den fejlede ved validering af email..
Avatar billede w13 Novice
25. juli 2007 - 21:47 #8
Hmm.. Men på min fejlede den også i navn.
Avatar billede remo27 Nybegynder
25. juli 2007 - 21:51 #9
kalp>> Det prøver jeg lige ;O)
Avatar billede kalp Novice
25. juli 2007 - 21:53 #10
w13 >>

Jeg har fjernet ID'erne i mit lokale eksempel og det fungerer stadig=)
Hvis jeg husker korrekt så er det også via. navn man tilgår elementer på en Form.

Det crashede direkte ved email da navnet ikke findes i "Input"
ihvertfald ikke som "Email", men som "email".

Han har nok forvekslet den med "Email" som står i TD'en da den står med stort=)

- dog er jeg mystificeret lidt her, troede ikke den var case sensitive=)
Avatar billede w13 Novice
25. juli 2007 - 21:56 #11
Jaeh. Spøjst :)
Avatar billede remo27 Nybegynder
25. juli 2007 - 22:00 #12
kalp>> Drop et svar ;O)
Avatar billede kalp Novice
25. juli 2007 - 22:03 #13
:D
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
Kurser inden for grundlæggende programmering

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