Avatar billede autohh Nybegynder
08. september 2004 - 20:19 Der er 11 kommentarer og
1 løsning

Tjekke om felterne er udfyldt

Heysa eksperter

nu har jeg et problem igen igen :)

skal have sådan at den tjekker om alle deres felter er udfyldt og hvis feltet ikke er fyldt skal man få en fejl

opret.asp:
<form method="POST" action="godkend.asp" onsubmit="return validate(this);" name="opretform0submit1">

<p align="center">
Brugernavn:<input type="text" name="bruger" size="20"></p>
<p align="center">
rigtige navn:<input type="text" name="navn" size="20"></p>
<p align="center">
kode:<input type="password" name="kode" size="20"></p>
<p align="center">
alder:<input type="text" name="alder" size="20"></p>
<p align="center">
hjemmeside:<input type="text" name="hjemmeside" size="20"></p>
<p align="center">
info:<input type="text" name="info" size="14"></p>
 
<p align="center">
   
 
<input type="submit" value="opret" name="B1"></p>
 
</p>
</form>
<body background="../grafik/begg.JPG">
<hr style="border: 1 dotted black" width="200" size="1" color="black">




Og godkend.asp:
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("database.mdb")
Conn.Open DSN


strSQL = "Insert into Brugere (bruger, navn, hjemmeside, info) values
('" & Request.Form("bruger") & "', '" & Request.Form("navn") & "', '" & Request.Form("kode") & "', '" & Request.Form("alder") & "', '" & Request.Form("hjemmeside") & "' '" & Request.Form("info") & "')"

Conn.Execute(strSQL)

Conn.Close
Set Conn = Nothing

Response.Redirect("../index.htm")
%>
Avatar billede eagleeye Praktikant
08. september 2004 - 20:24 #1
Du har alderrede tilføjet kaldet onsubmit="return validate(this);"  så skal du bare havde javascript funktionen som gør de.
Prøv denne:

<script>
function(theform) {
  if (theform.bruger.value=='') {
    alert('Brugernavn skal udfyldes!');
    return false;
  }
  if (theform.navn.value=='') {
    alert('Navn skal udfyldes!');
    return false;
  }
  if (theform.kode.value=='') {
    alert('Kode skal udfyldes!');
    return false;
  }
  if (theform.alder.value=='') {
    alert('alder skal udfyldes!');
    return false;
  }
  if (theform.hjemmeside.value=='') {
    alert('hjemmeside skal udfyldes!');
    return false;
  }
  if (theform.info.value=='') {
    alert('info skal udfyldes!');
    return false;
  }

return true;
}
</script>
Avatar billede autohh Nybegynder
08. september 2004 - 20:30 #2
får en mærkelig fejl i godkend.asp:
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("database.mdb")
Conn.Open DSN


strSQL = "Insert into Brugere (bruger, navn, kode, info) values ('" & Request.Form("bruger") & "', '" & Request.Form("navn") & "', '" & Request.Form("kode") & "', '" & Request.Form("info") & "')"

Conn.Execute(strSQL)

Conn.Close
Set Conn = Nothing

Response.Redirect("../index.htm")
%>
<script>
function(theform) {
  if (theform.bruger.value=='') {
    alert('Brugernavn skal udfyldes!');
    return false;
  }
  if (theform.navn.value=='') {
    alert('Navn skal udfyldes!');
    return false;
  }
  if (theform.kode.value=='') {
    alert('Kode skal udfyldes!');
    return false;

  }
  if (theform.info.value=='') {
    alert('info skal udfyldes!');
    return false;
  }

return true;
}
</script>

fejlen : Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] The INSERT INTO statement contains the following unknown field name: 'navn'. Make sure you have typed the name correctly, and try the operation again.

/freak/community/system/godkend.asp, line 10
Avatar billede eagleeye Praktikant
08. september 2004 - 20:32 #3
Det er skam heller ikke i den fil det skal ind.
Det skal ind i opret.asp filen der hvor formen ligger.
Avatar billede eagleeye Praktikant
08. september 2004 - 20:33 #4
men den fejl tyder på du ikke har en kolonne i brugere tabellen som hedder navn
Avatar billede autohh Nybegynder
13. september 2004 - 17:53 #5
Så har jeg lavet det næsten rigtigt der er bare et problem syntes ikke det virker :)
min kode:

<form method="POST" action="godkend.asp" onsubmit="return validate(this);" name="opretform0submit1">

<p align="center">
Brugernavn:<input type="text" name="bruger" size="20"></p>
<p align="center">
rigtige navn:<input type="text" name="navn" size="20"></p>
<p align="center">
kode:<input type="password" name="kode" size="20"></p>
<p align="center">
info:<input type="text" name="info" size="14"></p>
<p align="center">
   
 
<input type="submit" value="opret" name="B1"></p>
 
</p>
</form>
<body background="../grafik/begg.JPG">
<hr style="border: 1 dotted black" width="200" size="1" color="black">

<script>
function(theform) {
  if (theform.bruger.value=='') {
    alert('Brugernavn skal udfyldes!');
    return false;
  }
  if (theform.navn.value=='') {
    alert('Dit rigtige navn skal udfyldes!');
    return false;
  }
  if (theform.kode.value=='') {
    alert('Kode skal udfyldes!');
    return false;


  if (theform.info.value=='') {
    alert('info skal udfyldes!');
    return false;
  }

return true;
}
</script>
Avatar billede eagleeye Praktikant
13. september 2004 - 17:56 #6
Ja, du skal lige havde rette denne linje:

function(theform) {

Til dette så der står funktionnavnet:

function validate(theform) {
Avatar billede autohh Nybegynder
14. september 2004 - 07:42 #7
Virker stadig ikke helt efter hensigten tjek min kode nu:

<form method="POST" action="godkend.asp" onsubmit="return validate(this);" name="opretform0submit1">

<p align="center">
Brugernavn:<input type="text" name="bruger" size="20"></p>
<p align="center">
rigtige navn:<input type="text" name="navn" size="20"></p>
<p align="center">
kode:<input type="password" name="kode" size="20"></p>
<p align="center">
info:<input type="text" name="info" size="14"></p>
<p align="center">
   
 
<input type="submit" value="opret" name="B1"></p>
 
</p>
</form>
<body background="../grafik/begg.JPG">
<hr style="border: 1 dotted black" width="200" size="1" color="black">

<script>
function validate(theform) {
  if (theform.bruger.value=='') {
    alert('Brugernavn skal udfyldes!');
    return false;
  }
  if (theform.navn.value=='') {
    alert('Dit rigtige navn skal udfyldes!');
    return false;
  }
  if (theform.kode.value=='') {
    alert('Kode skal udfyldes!');
    return false;


  if (theform.info.value=='') {
    alert('info skal udfyldes!');
    return false;
  }

return true;
}
</script>

Den opretter bare brugeren selvom man bare har ladet feltet stå åbent
Avatar billede eagleeye Praktikant
14. september 2004 - 17:25 #8
ok, kan se der mangler en } lige efter tjek om kode er udfyldt, prøv at rette scriptet til dette:

<script>
function validate(theform) {
  if (theform.bruger.value=='') {
    alert('Brugernavn skal udfyldes!');
    return false;
  }
  if (theform.navn.value=='') {
    alert('Dit rigtige navn skal udfyldes!');
    return false;
  }
  if (theform.kode.value=='') {
    alert('Kode skal udfyldes!');
    return false;
  }

  if (theform.info.value=='') {
    alert('info skal udfyldes!');
    return false;
  }

return true;
}
</script>
Avatar billede autohh Nybegynder
14. september 2004 - 21:15 #9
Virker helt optimalt nu :) har bare et problem ved ikke om du vil tjene lidt ekstra :) sådan at de kun kan skrive med små og store bokstaver og tal og ingen tegn og ingen mellemrum til at starte med
Avatar billede autohh Nybegynder
14. september 2004 - 21:16 #10
Altser i loginnet ;) så de ikke kan oprette sig med ¤¤%#¤% osv ;)
Avatar billede eagleeye Praktikant
14. september 2004 - 21:33 #11
Du kan prøve at rette det til dette: Så tillader den kun bogstaver og tal som brugernavn:


<script>
function validate(theform) {
 
  var filter = /^([a-zæøå\d])+$/i;
  if (theform.bruger.value=='' || (filter.test(theform.bruger.value) == false)) {
    alert('Brugernavn skal udfyldes og må kun indeholde bogstaver eller tal!');
    return false;
  }
  if (theform.navn.value=='') {
    alert('Dit rigtige navn skal udfyldes!');
    return false;
  }
  if (theform.kode.value=='') {
    alert('Kode skal udfyldes!');
    return false;
  }

  if (theform.info.value=='') {
    alert('info skal udfyldes!');
    return false;
  }

return true;
}
</script>
Avatar billede autohh Nybegynder
14. september 2004 - 21:40 #12
Sat den op til 100 så får du nok lidt ud af det :) tark for hjælpen IGEN IGEN IGEN :)
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