Avatar billede zetn Nybegynder
15. april 2004 - 16:27 Der er 20 kommentarer og
1 løsning

Fej ved sideload

Jeg får en script fejl hver gang jeg loader min side. Fejlen siger:

Fejl: 'document.sampleform.john' is null or not an object
kode: 0

Scriptet der giver fejlen er:,

<script>

var ns6=document.getElementById&&!document.all

function restrictinput(maxlength,e,placeholder){
if (window.event&&event.srcElement.value.length>=maxlength)
return false
else if (e.target&&e.target==eval(placeholder)&&e.target.value.length>=maxlength){
var pressedkey=/[a-zA-Z0-9\.\,\/]/ //detect alphanumeric keys
if (pressedkey.test(String.fromCharCode(e.which)))
e.stopPropagation()
}
}

function countlimit(maxlength,e,placeholder){
var theform=eval(placeholder)
var lengthleft=maxlength-theform.value.length
var placeholderobj=document.all? document.all[placeholder] : document.getElementById(placeholder)
if (window.event||e.target&&e.target==eval(placeholder)){
if (lengthleft<0)
theform.value=theform.value.substring(0,maxlength)
placeholderobj.innerHTML=lengthleft
}
}


function displaylimit(theform,thelimit){
var limit_text='<b><font><span id="'+theform.toString()+'">'+thelimit+'</span></b> antal tegn tilbage'
if (document.all||ns6)
document.write(limit_text)
if (document.all){
eval(theform).onkeypress=function(){ return restrictinput(thelimit,event,theform)}
eval(theform).onkeyup=function(){ countlimit(thelimit,event,theform)}
}
else if (ns6){
document.body.addEventListener('keypress', function(event) { restrictinput(thelimit,event,theform) }, true);
document.body.addEventListener('keyup', function(event) { countlimit(thelimit,event,theform) }, true);
}
}

</script>

det er mærkeligt, fordi det har virket perfekt.

mvh JW
<textarea rows='7' cols='33' name='john'><%=session("bes")%>
<script>
displaylimit("document.sampleform.john",300)
</script>
Avatar billede zetn Nybegynder
15. april 2004 - 16:27 #1
Hov lidt rodet, det nederste er der hvor jeg kalder scriptet
Avatar billede thesurfer Nybegynder
15. april 2004 - 17:20 #2
Prøv:

<script type="text/JavaScript">
displaylimit(document.sampleform.john,300)
</script>
Avatar billede thesurfer Nybegynder
15. april 2004 - 17:22 #3
Prøv evt at smide din form herind..
Avatar billede olebole Juniormester
15. april 2004 - 23:10 #4
<ole>

Du bør ikke kalde dit script, før formen er lukket. Før bør browseren ikke kunne 'navigere' i formen

/mvh
</bole>
Avatar billede zetn Nybegynder
16. april 2004 - 07:25 #5
så det skal være efter min submit knappe eller hva?
Avatar billede olebole Juniormester
16. april 2004 - 12:02 #6
Når browseren har skrevet </form>, kan kaldet udføres
Avatar billede thesurfer Nybegynder
16. april 2004 - 14:32 #7
Jeg tror ikke at formen ser sådan ud?:

<textarea rows='7' cols='33' name='john'><%=session("bes")%>
<script>
displaylimit("document.sampleform.john",300)
</script>

For så mangler du jo at lukke textarea..?
Avatar billede olebole Juniormester
16. april 2004 - 14:38 #8
Der må jo være en form, der hedder 'sampleform' ... ellers er adresseringen helt i skoven
Avatar billede zetn Nybegynder
25. april 2004 - 20:55 #9
Heysa, sry jeg har ikke været hjemme de sidste par dage.
Hvis jeg fjerner denne funktion

<select size="1" onChange="window.open(this.options[this.selectedIndex].value,'_self')" name="rubrik">

bliver der ikke meldt fejl. Det er til 2 afhængige selects.

er der noget galt med den, den virker når man lige har trykket nej til javafejl
Avatar billede zetn Nybegynder
25. april 2004 - 21:07 #10
og når jeg så fjerner den første kode melder den heller ikke fejl. det er åbenbart de to scripts der ikke kan sammen...
Avatar billede thesurfer Nybegynder
26. april 2004 - 15:37 #11
Hvis jeg ikke tager meget fejl, kan man nøjes med:

<select size="1" onChange="window.open(this.value,'_self','')" name="rubrik">

men smid lige hele din form her ind.. erstat action="" værdien med feks. "***"..
Avatar billede thesurfer Nybegynder
26. april 2004 - 15:37 #12
rettelse:

<select size="1" onChange="location.href=this.value" name="rubrik">
Avatar billede zetn Nybegynder
26. april 2004 - 15:51 #13
<script>

var ns6=document.getElementById&&!document.all

function restrictinput(maxlength,e,placeholder){
if (window.event&&event.srcElement.value.length>=maxlength)
return false
else if (e.target&&e.target==eval(placeholder)&&e.target.value.length>=maxlength){
var pressedkey=/[a-zA-Z0-9\.\,\/]/ //detect alphanumeric keys
if (pressedkey.test(String.fromCharCode(e.which)))
e.stopPropagation()
}
}

function countlimit(maxlength,e,placeholder){
var theform=eval(placeholder)
var lengthleft=maxlength-theform.value.length
var placeholderobj=document.all? document.all[placeholder] : document.getElementById(placeholder)
if (window.event||e.target&&e.target==eval(placeholder)){
if (lengthleft<0)
theform.value=theform.value.substring(0,maxlength)
placeholderobj.innerHTML=lengthleft
}
}


function displaylimit(theform,thelimit){
var limit_text='<b><font><span id="'+theform.toString()+'">'+thelimit+'</span></b> antal tegn tilbage'
if (document.all||ns6)
document.write(limit_text)
if (document.all){
eval(theform).onkeypress=function(){ return restrictinput(thelimit,event,theform)}
eval(theform).onkeyup=function(){ countlimit(thelimit,event,theform)}
}
else if (ns6){
document.body.addEventListener('keypress', function(event) { restrictinput(thelimit,event,theform) }, true);
document.body.addEventListener('keyup', function(event) { countlimit(thelimit,event,theform) }, true);
}
}

</script>


<form METHOD='Post' ENCTYPE='multipart/form-data' ACTION='add.asp?key=1' id='form3' name='form3'>

<select size="1" onChange="location.href=this.value" name="rubrik">
<option value='hoved' selected>Vælg....</option>
<%
strconn = "DRIVER={MySQL};server=localhost;uid=xxx;pwd=xxx;database=xxx"
set conn = Server.CreateObject("ADODB.Connection")
conn.open strConn

strSQL = "SELECT * from hovedkat order by id ASC"
set re = conn.execute(strSQL)

do while not re.eof

id = re("id")
navn = re("navn")

Response.Write "<option style='COLOR: #ffffff; BACKGROUND-COLOR: #8293A6' value='hoved'>" & navn & ":</option>"

strSQL = "SELECT * from underkat where hid = " & id & " order by id DESC"
set rq = conn.execute(strSQL)

do while not rq.eof

uid = rq("id")
unavn = rq("navn")
kat = "" & re("id") & "." & uid & ""

Response.Write "<option style='BACKGROUND-COLOR: #E3E7EA' "

if kat = "" & session("kat") & "" then
Response.Write " selected "
end if

Response.Write " value='redirect.asp?mode=kat&id=" & id & "&uid=" & uid & "'>- " & unavn & "</option>"

rq.MoveNext
loop

re.MoveNext
loop

Response.Write "</select><br><br>"

<textarea rows='7' cols='33' name='john'><%=session("tsbes")%></textarea><br>
<script type="text/JavaScript">
displaylimit("document.sampleform.john,300")
</script><br><input type="submit" value="Opret annonce">
Avatar billede thesurfer Nybegynder
26. april 2004 - 15:57 #14
linien:
displaylimit("document.sampleform.john,300")

skal nok være:

displaylimit("document.form3.john,300")

dvs, med "form3" i stedet for "sampleform", da din form hedder "form3": name='form3'>

1) Jeg går ud fra at du har "</form>" et eller andet sted..?

F.eks.:

<textarea rows='7' cols='33' name='john'><%=session("tsbes")%></textarea><br>
<script type="text/JavaScript">
displaylimit("document.form3.john,300")
</script><br><input type="submit" value="Opret annonce"></form>


2) jeg går ud fra at du har placeret JavaScript'et der, fordi der skal udskriver noget der..?


Der er 2 spm i dette indlæg.. besvar begge spm.
Avatar billede zetn Nybegynder
26. april 2004 - 16:01 #15
Det var pga. det med form navnet. det virker nu... takker mange gange ;)
smid svar mester
Avatar billede thesurfer Nybegynder
26. april 2004 - 16:07 #16
OK. Men pointsne skal deles med olebole, da han allerede 'fangede' den i indlægget 16/04-2004 14:38:55 :-)
Avatar billede zetn Nybegynder
26. april 2004 - 16:08 #17
olebole, smid svar ;)
Avatar billede zetn Nybegynder
26. april 2004 - 19:07 #18
Forresten... Den viser ikke tegnene der er tilbage... Der står bare "undefined antal tegn tilbage"
Avatar billede thesurfer Nybegynder
27. april 2004 - 16:19 #19
Jeg har lige kigget på dit script..
Din displaylimit funktion forventer 2 parametere:
1) feltet
2) antallet af tegn

Du kalder funktionen med: displaylimit("document.form3.john,300")
Hvis jeg ikke tager meget fejl, vil "document.form3.john,300" blive betragtet som 1 parameter, pgs "" tegnene..

Prøv derfor:

displaylimit(document.form3.john,300)
Avatar billede zetn Nybegynder
18. juli 2004 - 18:38 #20
Glemte helt og give point.... Min fejl!
Avatar billede thesurfer Nybegynder
19. juli 2004 - 19:18 #21
OleBole> Der er points til dig her: http://www.eksperten.dk/spm/521287
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

Seneste spørgsmål Seneste aktivitet
I dag 10:21 Ny printer, men hvilken Af mort1 i Printere
I går 19:41 USB på Linux Af Uvanga i Linux
12/0818:26 Hvilken type mus Af mort1 i PC
11/0813:21 ms Forms Af leahcim i Andet software
10/0821:30 Blokeret på Snapchat? Af LineP i Chat & Messaging