Frågan 15 mars 2009 10:59 #1 Utan data ska det stå inga data finns....det blir bara en . och syns ingen textruta, när jag väl har en post visas inte inlägget utan det står undefined. Det finns inga felmeddelanden så jag vet inte var felet ligger.....har fetmarkerat stället där texten ska loopas ut
<!-- #include virtual="/include/dbconn.asp" -->
<!-- #include virtual="/include/functions.asp" -->
<!-- #include virtual="/include/variabler.asp" -->
<!-- #include virtual="/include/rs.asp" -->
<%
'Set user=objConn.Execute("SELECT * FROM tblUsers_messagescroll where Visar=1 order by mCounter DESC limit 12")
Set user=objConn.Execute("SELECT * FROM tblUsers INNER JOIN tblUsers_messagescroll ON tblUsers.userID = tblUsers_messagescroll.userID where Visar=1 order by mCounter Desc limit 12")
'objConn.Execute("delete from tblUsers_messagescroll where messageTime > DateAdd('n', -20, Now())")
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<body style="<%=mainBGColor%>">
<link type="text/css" rel="StyleSheet" href="/include/css/style.css">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->
</script>
<title>Lajven</title>
<style type="text/css">
#memoryticker{
width: 800px;
height:20px;
font: bold 8px Arial;
/*Tip: add in height attribute here for multiple line scroller*/
border: 0px solid black;
padding: 0px;
/*Change 0.7 below to a different number if desired (0.7=0.7 seconds)*/
/*Remove below line to remove transitional effect in IE. Below line should always appear last within this CSS*/
filter: progid:DXImageTransform.Microsoft.GradientWipe(GradientSize=2.0 Duration=1,5)
}
</style>
</head>
<body leftmargin="0" bgcolor="#D4E6EA">
<table bgcolor="#D4E6EA" style="border="0" cellpadding="0" cellspacing="0">
<tr>
<td style="border-style:dotted; border-color:#000000; border-width:1px;" bgcolor="#FFFFFF" align="left">
<script type="text/javascript">
/***********************************************
* Memory Ticker script- © Dynamic Drive DHTML code library ([url]www.dynamicdrive.com[/url])
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at [url]http://www.dynamicdrive.com/[/url] for full source code
***********************************************/
//configure tickercontents[] to set the messges you wish be displayed (HTML codes accepted)
//Backslash any apostrophes within your text (ie: I\'m the king of the world!)
[B]
<%If user.EOF then
Response.Write "Inga data finns"
Else
response.write "var tickercontents=new Array()"
i=0
Do until user.eof
%>
tickercontents[<%=i%>]='<a class="menu" target="_top" href="/view.asp?userID=<%=user("userID")%>"><span style="font-size:11px; color:333333;"><%=user("username")%>: <%=LCase(replace(replace(left(Mid(Server.HTMLEncode(user("message")),15),108),"'","#"),vbCrLf," "))%></span></a>'
<%
i=i+1
user.MoveNext: Loop
End If%>[/B]
var persistlastviewedmsg=1 //should messages' order persist after users navigate away (1=yes, 0=no)?
var persistmsgbehavior="onload" //set to "onload" or "onclick".
//configure the below variable to determine the delay between ticking of messages (in miliseconds):
var tickdelay=10000
////Do not edit pass this line////////////////
var divonclick=(persistlastviewedmsg && persistmsgbehavior=="onclick")? 'onClick="savelastmsg()" ' : ''
var currentmessage=0
function changetickercontent(){
if (crosstick.filters && crosstick.filters.length>0)
crosstick.filters[0].Apply()
crosstick.innerHTML=tickercontents[currentmessage]
if (crosstick.filters && crosstick.filters.length>0)
crosstick.filters[0].Play()
currentmessage=(currentmessage==tickercontents.length-1)? currentmessage=0 : currentmessage+1
var filterduration=(crosstick.filters&&crosstick.filters.length>0)? crosstick.filters[0].duration*1000 : 0
setTimeout("changetickercontent()",tickdelay+filterduration)
}
function beginticker(){
if (persistlastviewedmsg && get_cookie("lastmsgnum")!="")
revivelastmsg()
crosstick=document.getElementById? document.getElementById("memoryticker") : document.all.memoryticker
changetickercontent()
}
function get_cookie(Name) {
var search = Name + "="
var returnvalue = ""
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
if (offset != -1) {
offset += search.length
end = document.cookie.indexOf(";", offset)
if (end == -1)
end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
}
function savelastmsg(){
document.cookie="lastmsgnum="+currentmessage
}
function revivelastmsg(){
currentmessage=parseInt(get_cookie("lastmsgnum"))
currentmessage=(currentmessage==0)? tickercontents.length-1 : currentmessage-1
}
if (persistlastviewedmsg && persistmsgbehavior=="onload")
window.onunload=savelastmsg
if (document.all||document.getElementById)
document.write('<div id="memoryticker" '+divonclick+'></div>')
if (window.addEventListener)
window.addEventListener("load", beginticker, false)
else if (window.attachEvent)
window.attachEvent("onload", beginticker)
else if (document.all || document.getElementById)
window.onload=beginticker
</script>
</td>
</tr>
</table>
</body>
</html>
R rhdf Medlem sedan okt. 2007 446 inlägg om det inte finns några poster så borde ju "inga data finns" skrivas ut, har du kollat källkoden på den genererade sidan? javascriptet kommer ju köras även om du inte har några poster. Hur ser den genererade källan ut när du HAR poster som borde loopas ut?
(för övrigt så borde du rätta till din html kod lite samt ta bort javascriptet
MM_reloadPage(init) eftersom den justerar lite dumheter som netscape 4 hade för sig, om jag inte missminner mig, dvs helt onödigt att ha med den)
med data står det
var tickercontents=new Array()
tickercontents[0]='<a class="menu" target="_top" href="/view.asp?userID=1"><span style="font-size:11px; color:333333;">stene: jag välkomnar alla medlemmar till nya kamrat.stene.nu </span></a>'
i koden men undefined som resultat på sidan
R rhdf Medlem sedan okt. 2007 446 inlägg jag gjorde en snabb test men bytte ut din "databasloop" mot en for-loop (eftersom jag inte har din db )
var tickercontents=new Array()
<%
For i=0 to 10%>
tickercontents[<%=i%>]='<a class="menu" target="_top" href="/view.asp?userID=1"><span style="font-size:11px; color:333333;">stene: jag välkomnar alla medlemmar till nya kamrat.stene.nu <%=i%></span></a>'
<%
next
dvs jag skriver ut exakt det du får ut fast med värdet av i efter så man ser skillnad och det funkar, jag tror snarare problemet ligger i att resterande HTML är så felaktig så att sidan inte funkar
eftersom det inte är så mycket html utan enbart ett stort script och lite asp så kan jag inte se vad som är fel, vilken del tror du det är som felar?
R rhdf Medlem sedan okt. 2007 446 inlägg ptja när jag kopierade in koden i dreamweaver så blev det rätt tydligt att det fanns en massa fel eftersom färgkodningen blev helt rubbad;)
men några snabba fel man ser direkt är att du har fel antal body taggar.
Du har en direkt under <html>
sen kommer det en massa saker som skall ligga i <head> men du har ingen start-tagg för just head, däremot en sluttagg och sen en ny bodytagg
tabellen är har dessutom ett fel i sig
style="border="0" ser du felet?
P Peter S Medlem sedan dec. 2002 5 483 inlägg Det finns två alternativa lösningar på problemet:
Skriv ut ett semikolon efter varje JavaScript-rad. Alltså response.write "var tickercontents=new Array();" och tickercontents[<%=i%>]='...';
Lägg in radbrytningar med vbCrLf efter varje JavaScript-rad så att inte hela rasket skrivs som en enda lång sträng.
Compusa Medlem sedan jan. 2002 3 327 inlägg WebbistNet: kör du bara med "copy and paste"? Du verkar inte ha så bra koll på det du gör.
såg alla slarvfel och har rättat till dem men resultatet är detsamma, undrar vad som kan fela när det inte var det....hmmmmmm
Compusa skrev:
WebbistNet: kör du bara med "copy and paste"? Du verkar inte ha så bra koll på det du gör.
scriptet har funkat innan på förra versionen av communityt som jag hade
jag har byggt html sidor från grunden sedan -96 och har alltid byggt dem i anteckningar och slarvfel kan man alltid göra, enda gången jag kör med copy and paste är när jag ska lägga in färdiga script
R rhdf Medlem sedan okt. 2007 446 inlägg hur ser den genererade källkoden ut nu då?
för när jag testar det så funkar det både i IE och Firefox
rhdf skrev:
hur ser den genererade källkoden ut nu då?
för när jag testar det så funkar det både i IE och Firefox
<!--<meta http-equiv="page-enter" content="blendtrans(duration=1)">-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<title>Lajven</title>
<head>
<link type="text/css" rel="StyleSheet" href="/include/css/style.css">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
#memoryticker{
width: 800px;
height:20px;
font: bold 8px Arial;
/*Tip: add in height attribute here for multiple line scroller*/
border: 0px solid black;
padding: 0px;
/*Change 0.7 below to a different number if desired (0.7=0.7 seconds)*/
/*Remove below line to remove transitional effect in IE. Below line should always appear last within this CSS*/
filter: progid:DXImageTransform.Microsoft.GradientWipe(GradientSize=2.0 Duration=1,5)
}
</style>
</head>
<body style="background-color:#CCCCCC;">
<table bgcolor="#D4E6EA" style="border=0" cellpadding="0" cellspacing="0">
<tr>
<td style="border-style:dotted; border-color:#000000; border-width:1px;" bgcolor="#FFFFFF" align="left">
<script type="text/javascript">
/***********************************************
* Memory Ticker script- © Dynamic Drive DHTML code library ([url]www.dynamicdrive.com[/url])
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at [url]http://www.dynamicdrive.com/[/url] for full source code
***********************************************/
//configure tickercontents[] to set the messges you wish be displayed (HTML codes accepted)
//Backslash any apostrophes within your text (ie: I\'m the king of the world!)
var tickercontents=new Array();
tickercontents[1]='<a class="menu" target="_top" href="/view.asp?userID=1"><span style="font-size:11px; color:333333;">stene: testar</span></a>;'
tickercontents[2]='<a class="menu" target="_top" href="/view.asp?userID=1"><span style="font-size:11px; color:333333;">stene: jag välkomnar alla medlemmar till nya kamrat.stene.nu</span></a>;'
var persistlastviewedmsg=1 //should messages' order persist after users navigate away (1=yes, 0=no)?
var persistmsgbehavior="onload" //set to "onload" or "onclick".
//configure the below variable to determine the delay between ticking of messages (in miliseconds):
var tickdelay=10000
////Do not edit pass this line////////////////
var divonclick=(persistlastviewedmsg && persistmsgbehavior=="onclick")? 'onClick="savelastmsg()" ' : ''
var currentmessage=0
function changetickercontent(){
if (crosstick.filters && crosstick.filters.length>0)
crosstick.filters[0].Apply()
crosstick.innerHTML=tickercontents[currentmessage]
if (crosstick.filters && crosstick.filters.length>0)
crosstick.filters[0].Play()
currentmessage=(currentmessage==tickercontents.length-1)? currentmessage=0 : currentmessage+1
var filterduration=(crosstick.filters&&crosstick.filters.length>0)? crosstick.filters[0].duration*1000 : 0
setTimeout("changetickercontent()",tickdelay+filterduration)
}
function beginticker(){
if (persistlastviewedmsg && get_cookie("lastmsgnum")!="")
revivelastmsg()
crosstick=document.getElementById? document.getElementById("memoryticker") : document.all.memoryticker
changetickercontent()
}
function get_cookie(Name) {
var search = Name + "="
var returnvalue = ""
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
if (offset != -1) {
offset += search.length
end = document.cookie.indexOf(";", offset)
if (end == -1)
end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
}
function savelastmsg(){
document.cookie="lastmsgnum="+currentmessage
}
function revivelastmsg(){
currentmessage=parseInt(get_cookie("lastmsgnum"))
currentmessage=(currentmessage==0)? tickercontents.length-1 : currentmessage-1
}
if (persistlastviewedmsg && persistmsgbehavior=="onload")
window.onunload=savelastmsg
if (document.all||document.getElementById)
document.write('<div id="memoryticker" '+divonclick+'></div>')
if (window.addEventListener)
window.addEventListener("load", beginticker, false)
else if (window.attachEvent)
window.attachEvent("onload", beginticker)
else if (document.all || document.getElementById)
window.onload=beginticker
</script>
</td>
</tr>
</table>
</body>
</html>
P Peter S Medlem sedan dec. 2002 5 483 inlägg Troligtvis irrelevant i det här fallet eftersom radbrytningar lagts till (dock påverkas presentationen), men semikolonen i slutet av raderna med tickercontents[N ] skall ligga efter apostrofen - inte innan.
R rhdf Medlem sedan okt. 2007 446 inlägg ahaa
tickercontents[1]='....'
tickercontents[2]='....'
vad hände med tickercontents[0]
det är därför den gnäller eftersom arrayers första element är "nummer 0"
den hittar ju inte den eftersom den inte finns =undefined
enligt koden du först postade så satte du ju i till noll och räknade upp den EFTER att du stoppat in posten i tickercontents, dvs första posten skulle få 0. Har du ändrat det nu?
satte 1 för att testa
var tickercontents=new Array();
tickercontents[0]='<a class="menu" target="_top" href="/view.asp?userID=1"><span style="font-size:11px; color:333333;">stene: testar</span></a>;'
tickercontents[1]='<a class="menu" target="_top" href="/view.asp?userID=1"><span style="font-size:11px; color:333333;">stene: jag välkomnar alla medlemmar till nya kamrat.stene.nu</span></a>;'
är ingen skillnad med 0 även om det ska börja på noll
R rhdf Medlem sedan okt. 2007 446 inlägg kolla på http://fjolnir.ebpatour.eu/tickertest.html
det där är den EXAKT den kod du postade här den funkar för mig
enda felet med den är att semikolonet sitter ett steg fel, men det funkar tydligen utan det
och här är vad jag får
http://kamrat.stene.nu/lajv/smsmessage.asp
himla lustigt att det går för dig men inte för mig
nu blir jag ännu mer konfunderad, vad har du som jag inte har då????
hos mig funkar din men inte min, hos dig funkar båda