29. august 2007 - 23:35Der er
10 kommentarer og 1 løsning
Roder rundt i en chek sætning
Hej,
Må være meget træt, da denne sætning driller
if kategori="" or produkt="" or beskriv="" or not isNumeric(karakter) then Response.Write "Fejl i indtastningen." or <----- "dette or vil den ikke æde" if navn="" then Response.Write "Du er ikke logget på."
Mon ikke det skal skrives sådan her: <% if kategori="" or produkt="" or beskriv="" or not isNumeric(karakter) then Response.Write "Fejl i indtastningen." elseif navn="" then bla bla bla end if %>
Synes godt om
Slettet bruger
29. august 2007 - 23:46#3
hvad er det helt præcist du vil?
hvad med if (kategori="" or produkt="" or beskring="" or isnumeric(karakter)=False) then response.write "fejl i indtastningen." elseif navn="" then response.write "Du er ikke logget på." end if
- du kan ikke have en "or" i din response-sætning
en lidt bedre udgave kunne måske være:
if ((kategori="" or isnull(kategori)=True) or (produkt="" or isnull(produkt)=True) or (beskriv="" or isnull(beskriv)=True) or isnumeric(karakter)=False) then response.write "fejl i indtastningen." elseif (navn="" or isnull(navn)=True) then response.write "Du er ikke logget på." end if
men gør sådan: fejl = "" if kategori="" then fejl = "Fejl i indtastningen" if beskriv="" then fejl = "Fejl i indtastningen" if not isnumeric(karakter) then fejl = "Fejl i indtastningen" if fejl <>"" then response.write fejl if navn&"" = "" then response.write "Du er ikke logget på"
Jeg er ved at flette mit script ind i SkyPortal sider og ved denne lejlighed "prøver" jeg på at opdatere script lidt! Nu er jeg ikke nogen ørn ved dette angår, men der er noget der siger mig, at jeg har en doble chek for korrekt indtastning på mitscript:
set Conn = Server.CreateObject("ADODB.Connection") strConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.Mappath("grejanmeldelse/jerg.mdb") Conn.Open strConn
'henter form felterne navn = Replace(mySmartUpload.form("navn"),"'","''") kategori = Replace(mySmartUpload.form("kategori"),"'","''") produkt = Replace(mySmartUpload.form("produkt"),"'","") pris = Replace(mySmartUpload.form("pris"),"'","") karakter = Replace(mySmartUpload.form("karakter"),"'","") mail = Replace(mySmartUpload.form("mail"),"'","''") url = Replace(mySmartUpload.form("url"),"'","''") ture = Replace(mySmartUpload.form("ture"),"'","''") beskriv = Replace(mySmartUpload.form("beskriv"),"'","''")
if kategori="" or produkt="" or beskriv="" or not isNumeric(karakter) then Response.Write "Fejl i indtastningen." or <----- "dette or vil den ikke æde" if navn="" then Response.Write "Du er ikke logget på."
Response.redirect "anmeldelse.asp" end if end if %> <script>
function validate(theform) {
if(theform.kategori.value=='' || theform.kategori.value=='---') { alert ('Kategori skal vælges'); return false; } if (theform.produkt.value=='') { alert ('Produkt skal udfyldes'); return false; } if (theform.navn.value=='') { alert ('Du er ikke logget på'); return false; } str = theform.karakter.value; if(!str.match(/^(\d)+$/i)) { alert ('Karakter skal udfyldes og være et tal'); return false; }
if(theform.beskriv.value=='') { alert ('Beskrivelse skal udfyldes'); return false; } if (theform.ture.value=='') { alert ('Testtur skal udfyldes'); return false; }
return true; } </script>
Jeres overstående løsninger kommer op med en fejl med "end if" i forskellige linier!
if kategori="" or produkt="" or beskriv="" or not isNumeric(karakter) then Response.Write "Fejl i indtastningen." 'or <----- "dette or kan ignoreres nu er det udkommenteret så det ikke tæller med" if navn="" then Response.Write "Du er ikke logget på."
Response.redirect "anmeldelse.asp" end if end if %> <script>
function validate(theform) {
if(theform.kategori.value=='' || theform.kategori.value=='---') { alert ('Kategori skal vælges'); return false; } if (theform.produkt.value=='') { alert ('Produkt skal udfyldes'); return false; } if (theform.navn.value=='') { alert ('Du er ikke logget på'); return false; } str = theform.karakter.value; if(!str.match(/^(\d)+$/i)) { alert ('Karakter skal udfyldes og være et tal'); return false; }
if(theform.beskriv.value=='') { alert ('Beskrivelse skal udfyldes'); return false; } if (theform.ture.value=='') { alert ('Testtur skal udfyldes'); return false; }
Pokkers også cpufan - det virker ikke!!! Jeg tænkte på, om man ikke skulle opgiv If'er og så få
<script>
function validate(theform) {
if(theform.kategori.value=='' || theform.kategori.value=='---') { alert ('Kategori skal vælges'); return false; } if (theform.produkt.value=='') { alert ('Produkt skal udfyldes'); return false; } if (theform.navn.value=='') { alert ('Du er ikke logget på'); return false; } str = theform.karakter.value; if(!str.match(/^(\d)+$/i)) { alert ('Karakter skal udfyldes og være et tal'); return false; }
if(theform.beskriv.value=='') { alert ('Beskrivelse skal udfyldes'); return false; } if (theform.ture.value=='') { alert ('Testtur skal udfyldes'); return false; }
expected end, kan komme meget længere nede end fejlen vitterlig er,
så det du skal gøre er at tjekke alle dine if -end if
det bedste er at tabulere ind hvis der er nogen inden i hinanden:
if 'første if
if 'første indre
if ' anden indre end if anden if slut
end if 'første indre slut end if første slut
så er det lettere at overskue
Synes godt om
Ny brugerNybegynder
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.