webForumDet fria alternativet

får scriptfel på vissa av mina smileys

JavaScriptur Javascript

18 svar · 484 visningar · startad av WebbisNet

Medlem sedan feb. 20032 027 inlägg
Frågan#1

Kan nån se varför jag får scriptfel på vissa smileys medan de andra funkar
De som inte funkar är =b shame moose blah yes no

&nbsp;<a href="#" onClick="smilie(':-)'); return false;"><img border="0" src="/images/smileys/happy.gif"></a>
&nbsp;<a href="#" onClick="smilie(':-D'); return false;"><img border="0" src="/images/smileys/happy1.gif"></a>
&nbsp;<a href="#" onClick="smilie(';-)'); return false;"><img border="0" src="/images/smileys/flirt.gif"></a>
&nbsp;<a href="#" onClick="smilie(';-('); return false;"><img border="0" src="/images/smileys/sad.gif"></a>
&nbsp;<a href="#" onClick="smilie(':-()'); return false;"><img border="0" src="/images/smileys/angry.gif"></a>
&nbsp;<a href="#" onClick="smilie('8-)'); return false;"><img border="0" src="/images/smileys/cool.gif"></a>
&nbsp;<a href="#" onClick="smilie(':-%'); return false;"><img border="0" src="/images/smileys/devil.gif"></a>
&nbsp;<a href="#" onClick="smilie(':-p'); return false;"><img border="0" src="/images/smileys/tounge.gif"></a>
&nbsp;<a href="#" onClick="smilie('beer'); return false;"><img border="0" src="/images/smileys/beer.gif"></a>
[b]&nbsp;<a href="#" onClick="smilie('=b'); return false;"><img border="0" src="/images/smileys/beergrin.gif"></a>[/b]
&nbsp;<a href="#" onClick="smilie('sleep'); return false;"><img border="0" src="/images/avatarer/46.gif"></a>
[b]&nbsp;<a href="#" onClick="smilie('shame'); return false;"><img border="0" src="/images/smileys/shame.gif"></a>[/b]
[b]&nbsp;<a href="#" onClick="smilie('moose'); return false;"><img border="0" src="/images/smileys/moose.gif"></a>[/b]
[b]&nbsp;<a href="#" onClick="smilie('blah'); return false;"><img border="0" src="/images/smileys/blah.gif"></a>[/b]
&nbsp;<a href="#" onClick="smilie('rose'); return false;"><img border="0" src="/images/icons/rose1.gif"></a>
&nbsp;<a href="#" onClick="smilie('rosse'); return false;"><img border="0" src="/images/avatarer/32.gif"></a>
&nbsp;<a href="#" onClick="smilie('-presse'); return false;"><img border="0" src="/images/avatarer/present.gif"></a>
&nbsp;<a href="#" onClick="smilie('kiss'); return false;"><img border="0" src="/images/avatarer/kiss.gif"></a>
&nbsp;<a href="#" onClick="smilie('dhug'); return false;"><img border="0" src="/images/avatarer/dude_hug.gif"></a>
&nbsp;<a href="#" onClick="smilie('ghug'); return false;"><img border="0" src="/images/avatarer/girl_hug.gif"></a>
&nbsp;<a href="#" onClick="smilie('krama'); return false;"><img border="0" src="/images/avatarer/dude_hug.gif"><img border="0" src="/images/avatarer/girl_hug.gif"></a>
&nbsp;<a href="#" onClick="smilie('choko'); return false;"><img border="0" src="/images/choklad.gif"></a>
[b]&nbsp;<a href="#" onClick="smilie('yes'); return false;"><img border="0" src="/images/smileys/tummeupp.gif"></a>[/b]
[b]&nbsp;<a href="#" onClick="smilie('no'); return false;"><img border="0" src="/images/smileys/tummener.gif"></a>[/b]
Medlem sedan juni 200032 969 inlägg
#2

Du får nog visa hur scriptet ser ut, samt säga vad du får för felmeddelande. Använd någon vettig javascriptkonsoll, exempelvis den i Firefox.

Medlem sedan feb. 20032 027 inlägg
#3

Error: document.getElementById(cid) has no properties
Source File: http://webbisen.com/misc/klotter/klottra.asp
Line: 314

Rad 314 är <div id="Scroll" class="presentation"> och den delen är det inget fel på.

Detta är javascriptet

var cPos,
    fObj,
    ieC = Boolean(document.selection && document.selection.createRange);

function smilie(str) {
    if (ieC) {
	if (typeof cPos != "undefined")
	    cPos.text = str;
	else
	    fObj.value = str;
    }

    else if (typeof window.HTMLTextAreaElement != "undefined")
	fObj.value = fObj.value.substring(0, fObj.selectionStart) + str + fObj.value.substring(fObj.selectionEnd);

    else fObj.value += str;
}

function sC() {
    cPos = document.selection.createRange().duplicate();
}

window.onload = function() {
    fObj = document.forms["frmKlotter"].elements["txtKlotterText"];

    if (ieC) {
	fObj.onclick  = function() { sC(); }
	fObj.onkeyup  = function() { sC(); }
	fObj.onselect = function() { sC(); }
    }
}
Medlem sedan juni 200032 969 inlägg
#4

document.getElementById(cid)

säger du. Det finns ju inte med i scriptet du postat.

Är verkligen det felmeddelandet från en vettig javascriptkonsoll? IEs javascriptfel-skräp suger, och ger en aldrig rätt radnummer.

Kan man testa någonstans?

Medlem sedan feb. 20032 027 inlägg
#5

Det felmeddelandet kom från FF2 och angav det radnumret, logga in på https://www.webbisen.com med test och test, klicka på Skriva så kommer du till klotterplanket där felet finns

Medlem sedan juni 200032 969 inlägg
#6

Alla smilieys fungerar, både i IE och FF.
Däremot har du ett annat scriptfel, som är det du nämner. Klicka på adressen som anges i javascriptdebuggern så kommer du till rätt rad i källkoden. I det här fallet verkar det vara kod i " DD Tab Menu script- © Dynamic Drive DHTML" som inte är rätt.

Medlem sedan feb. 20032 027 inlägg
#7

Det jag inte förstår är hur du kunde få alla smileys att visas, jag kan inte se nån av de nya jag la in....och det var de jag påpekade ovan.....alla andra gamla jag hade fungerar

Medlem sedan juni 200032 969 inlägg
#8

Jag har inte sagt något om att de visas. Smileyscriptet lägger till dem i textarean. Jag antog att det var det som var felet, eftersom du postade här?

Visas de inte som de ska, så är det väl replace:andet till gif-bilder när du ska visa inläggen, som inte fungerar. Det känns dock som om du borde inleda alla smileykoder med något, ex. ett kolon, så du inte ersätter en massa text som kanske inte ska ersättas.

Är det månne det som är felet? Att du försöker ersätta :beer till ikonen, men det bara står beer i texten?

Medlem sedan feb. 20032 027 inlägg
#9

utan document.getElementById(cid).style.display="block" fungerar inte mina undermenyer och de måste jag ha.....så vet nån hur man löser detta????

Medlem sedan feb. 20032 027 inlägg
#10

beer till exempel funkar utmärkt, De som är fetmarkerade i början av tråden är nya och funkar inte......men koden är densamma som de gamla som funkar. Kopierade bara raden till en av kodraderna som funkade och klistrade in, bytte bara ut "smileyn" och adressen till bilden

Medlem sedan juni 200032 969 inlägg
#11

Beer funkar inte utmärkt. :)
Texten "beer" skrivs ju ut, inte är det väl det som är tänkt?
Har du fixat till koden som replacear till bilder när inläggen visas också då?

Medlem sedan feb. 20032 027 inlägg
#12

beer till exempel blir en smiley när man har skickat, i textarean blir det inga smileys, men shame som är en av de nya ersätts inte och skrivs ut i ren text

Som jag sa innan så funkar alla som inte är fetmarkerade i början av tråden, det är de jag hade innan, de jag la till idag som är fetmarkerade har exakt samma struktur som de gamla men funkar inte

Medlem sedan juni 200032 969 inlägg
#13

Och: Scriptfelet har alltså ingenting med smiliesarna att göra. Det kommer varenda gång man för muspekaren över något av menyalternativen. Eventuellt skulle du kunna bli av med scriptfelet genom att byta dessa två rader:

document.getElementById(cid).style.display="block"
previoustab=cid

mot:

if(document.getElementById(cid)) {
     document.getElementById(cid).style.display="block"
     previoustab=cid
}
Medlem sedan juni 200032 969 inlägg
#14

beer till exempel blir en smiley när man har skickat

Nej, beer blir till text. Se mina testinlägg på klottersidan.

Medlem sedan feb. 20032 027 inlägg
#15

Glömde säga det innan att bara VIP-medlemmar kan skriva smileys, ska göra test tillfälligt till vip så ser du @nders, kolla om ett par minuter igen

Medlem sedan juni 200032 969 inlägg
#16

hehe, vad konstigt då ;)

Men; som jag skrev tidigare:

Är du säker på att koden som ska visa smileys i inläggen är riktig? Hur ser den ut?

Medlem sedan feb. 20032 027 inlägg
#17
<%If showAll("vip") = 1 Then%>
<%=convertLink(replace(maketext(makeHtml(showAll("klotterText"))),vbCrLf,"<br>"))%>		<%Else%>		<%=replace(Server.HTMLEncode(showAll("klotterText")),vbCrLf,"<br>")%>
<%End If%>

convertLink gör om url till länkar

maketext ger mig bakgrunderna

if showAll("vip") = 1 then
function maketext(byVal inpt)
	Dim inp:inp=inpt
inp = Replace(inp,"<konst>","<table width=""600"" height=""80""><tr><td valign=""top"" style=""background-image:url(/images/bg/art.gif); background-repeat:repeat; margin-left:0px; margin-top:0px; font:Verdana, Arial, Helvetica, sans-serif; font-size:12px; font-weight:bold; color:#000000;"">",1,-1,1)
inp = Replace(inp,"</konst>","</td></tr></table>",1,-1,1)
inp = Replace(inp,"<blommor>","<table width=""600"" height=""80""><tr><td valign=""top"" style=""background-image:url(/images/bg/flowers.gif); background-repeat:repeat; margin-left:0px; margin-top:0px; font:Verdana, Arial, Helvetica, sans-serif; font-size:12px; font-weight:bold;"">",1,-1,1)
inp = Replace(inp,"</blommor>","</td></tr></table>",1,-1,1)
inp = Replace(inp,"<sport>","<table width=""600"" height=""80""><tr><td valign=""top"" style=""background-image:url(/images/bg/sport.gif); background-repeat:repeat; margin-left:0px; margin-top:0px; font:Verdana, Arial, Helvetica, sans-serif; font-size:12px; font-weight:bold;"">",1,-1,1)
inp = Replace(inp,"</sport>","</td></tr></table>",1,-1,1)
inp = Replace(inp,"<stop>","<table width=""600"" height=""80""><tr><td valign=""top"" style=""background-image:url(/images/stop.gif); background-repeat:no-repeat; background-position:right; margin-top:0px; font:Verdana, Arial, Helvetica, sans-serif; font-size:12px; font-weight:bold;"">",1,-1,1)
inp = Replace(inp,"</stop>","</td></tr></table>",1,-1,1)
inp = Replace(inp,"<älgar>","<table width=""600"" height=""80""><tr><td valign=""top"" style=""background-image:url(/images/moose1.png); background-repeat:repeat; margin-left:0px; margin-top:0px; font:Verdana, Arial, Helvetica, sans-serif; font-size:12px; font-weight:bold;"">",1,-1,1)
inp = Replace(inp,"</älgar>","</td></tr></table>",1,-1,1)
inp = Replace(inp,"<ior>","<table width=""600"" height=""80""><tr><td valign=""top"" style=""background-image:url(/images/ior_small.gif); background-repeat:repeat;  background-position:right; margin-left:0px; margin-top:0px; font:Verdana, Arial, Helvetica, sans-serif; font-size:12px; font-weight:bold;"">",1,-1,1)
inp = Replace(inp,"</ior>","</td></tr></table>",1,-1,1)
maketext = inp
end function
end if

makeHTML ersätter bara den text man skriver själv

function makeHtml(byVal inpt)
	Dim inp:inp=inpt
		inp = Replace(inp,"<fet>","<b>",1,-1,1)
		inp = Replace(inp,"</fet>","</b>",1,-1,1)
		inp = Replace(inp,"<kursiv>","<i>",1,-1,1)
		inp = Replace(inp,"</kursiv>","</i>",1,-1,1)
		inp = Replace(inp,"<rubrik>","<font size=3>",1,-1,1)
		inp = Replace(inp,"</rubrik>","</font>",1,-1,1)
		inp = Replace(inp,"<Mtext>","<font color=""#800000"" size=2>",1,-1,1)
		inp = Replace(inp,"</Mtext>","</font>",1,-1,1)
		inp = Replace(inp,"<kod>","<table style=""background-color:#FFFFFF; font:Verdana, Helvetica, sans-serif; color:#000000; font-size:9pt; border: 1px solid #000000;""><tr><td>",1,-1,1)
		inp = Replace(inp,"</kod>","</td></tr></table>",1,-1,1)
		inp = Replace(inp,"<markera>","<span style=""background-color:#ffff80; font size:10pt; font-face:Arial; margin-left:0px; margin-right:0px; margin-top:0px; margin-bottom:0px;"">",1,-1,1)
		inp = Replace(inp,"</markera>","</span>",1,-1,1)
		inp = Replace(inp,":-)"," <img border=""0"" src=""/images/smileys/happy.gif"">")
		inp = Replace(inp,":-D"," <img border=""0"" src=""/images/smileys/happy1.gif"">")
		inp = Replace(inp,":-()"," <img border=""0"" src=""/images/smileys/angry.gif"">")
		inp = Replace(inp,";-("," <img border=""0"" src=""/images/smileys/sad.gif"">")
		inp = Replace(inp,";-)"," <img border=""0"" src=""/images/smileys/flirt.gif"">")
		inp = Replace(inp,"8-)"," <img border=""0"" src=""/images/smileys/cool.gif"">")
		inp = Replace(inp,"beer"," <img border=""0"" src=""/images/smileys/beer.gif"">")
		inp = Replace(inp,":-p"," <img border=""0"" src=""/images/smileys/tounge.gif"">")
	
		inp = Replace(inp,":-%"," <img border=""0"" src=""/images/smileys/devil.gif"">")
		inp = Replace(inp,"rose"," <img border=""0"" src=""/images/icons/rose1.gif"">")		
		inp = Replace(inp,"rosse"," <img border=""0"" src=""/images/avatarer/32.gif"">")		
		inp = Replace(inp,"sleep"," <img border=""0"" src=""/images/avatarer/46.gif"">")		
		inp = Replace(inp,"love"," <img border=""0"" src=""/images/avatarer/heart.gif"">")		
		inp = Replace(inp,"-presse"," <img border=""0"" src=""/images/avatarer/present.gif"">")		
		inp = Replace(inp,"kiss"," <img border=""0"" src=""/images/avatarer/kiss.gif"">")		
		inp = Replace(inp,"dhug"," <img border=""0"" src=""/images/avatarer/dude_hug.gif"">")		
		inp = Replace(inp,"ghug"," <img border=""0"" src=""/images/avatarer/girl_hug.gif"">")	
		inp = Replace(inp,"krama"," <img border=""0"" src=""/images/avatarer/dude_hug.gif""><img border=""0"" src=""/images/avatarer/girl_hug.gif"">")	
		inp = Replace(inp,"adminn"," <img border=""0"" src=""/images/users/bw.jpg"">")
		inp = Replace(inp,"-sponsra","Om du vill stödja Webbisen och du gillar sidan så kan du sponsra sidan genom att skicka ett sms med <b>webbis04 sponsra10</b> till nummer 72550, sms-et kostar 10 kronor.") 
		inp = Replace(inp,"choko"," <img border=""0"" src=""/images/choklad.gif"">")		
		inp = Replace(inp,"blro"," <img border=""0"" src=""/images/icons/blueroses.gif"">")		
		inp = Replace(inp,"lifl"," <img border=""0"" src=""/images/icons/litenflagga.gif"">")	
		inp = Replace(inp,"drr"," <img border=""0"" src=""/images/dozenroses.gif"">")
makeHtml = inp
end function
Medlem sedan juni 200032 969 inlägg
#18

Men alltså... De nya smileysarna har du ju inte lagt till i MakeHTML, så att de inte ersätts är inte så konstigt. :)

Medlem sedan feb. 20032 027 inlägg
#19

Har varit vaken hela natten så det kanske var därför....men tack för att du löste det @nders

138 ms totalt · 3 externa anrop · v20260731065814-full.55e59744
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)