26. oktober 2003 - 12:18
Der er
59 kommentarer og 1 løsning
overførsel fra side til en anden
hej eksperter :) jeg har en side hvor jeg ikke bruger refresh men istedet har nogle skjulte iframes som overføre teksten til nogle divs... dette virker fint, men nu da jeg skulle lave en ny iframe med tilhørende div kan jeg ikke få det til at virke, og jeg har ingen idé om hvorfor :( siden som jeg inkludere i iframen ser sådan ud: <html> <head> </head> <body onLoad="parent.opdate(document.getElementById('tekst').innerHTML,'andet');showdiv(\"andet\")"> <div id='tekst'> <div id='ret' style='display:'> <form name='ret' method='post' action='hent/andre_sider.php&side=profil.php?bruger='> <input type='hidden' name='opdate' value='ja'> <b>Rigtige navn</b>:<br> <input type='text' name='navn' value='' class='form_boks' style='width:90%'><p> <b>Email adresse</b>:<br> <input type='text' name='mail' value='' class='form_boks' style='width:90%'><p> <b>Telefon nummer</b>:<br> <input type='text' name='tlf' value='' class='form_boks' style='width:90%'><p> <b>Mobil nummer</b>:<br> <input type='text' name='mobil' value='' class='form_boks' style='width:90%'><p> <b>Adresse</b>:<br> <textarea name='adresse' rows='10' class='form_boks' style='width:90%' cols='6'></textarea><p> <b>ICQ</b>:<br> <input type='text' name='icq' value='' class='form_boks' style='width:90%'><p> <b>MSN</b>:<br> <input type='text' name='msn' value='' class='form_boks' style='width:90%'><p> <input type='submit' name='submit' value='[ opdatere oplysninger ]' style='width:45%' class='form_knap'> <input type='reset' name='reset' value='[ slet alt ]' style='width:45%' class='form_knap'> </form> </div> </div> </body> </html> og så har jeg en function på siden som skal have indholdet som ser sådan her ud: function opdate(tekst,divid) { document.getElementById(divid).innerHTML = tekst; } og på samme side har jeg en div som ser således ud: <div id='andet' style='height:500px;background:#FFFFFF;display:none;position:absolute;left:-18px;top:-5px;width:753px;z-index:1002;border:2px groove #000000'></div> mit link som skal få indholdet ind ser sådan ud: <a href='hent/profil.php' target='skjult_sider' onClick='andet(\"show\")'> hvor target er til iframen som er skjult, og functionen i onClick sætter div'en synlig... Håber der er nogen kan kan forklare mig hvorfor det ikke virker selvom det andre iframes/divs jeg har virker fint :/
Annonceindlæg fra Computerworld
26. oktober 2003 - 12:41
#1
Hvordan ser funktionen andet ud ?-)
26. oktober 2003 - 12:54
#2
function andet(type) { if (type == 'show') { document.getElementById('andet').style.display = ''; } else if (type == 'remove') { document.getElementById('andet').style.display = 'none'; } } og det virker os fint nok, diven den bliver vist som den skal...
26. oktober 2003 - 13:03
#3
-- ok, jeg reagerede bare på at funktionen hed det samme som div'en -- ikke så smart men vist totalt ufarligt !-) -- jeg vil gætte på, at dit problem er, at du lige pludseligt får en javascript-variabel med linjeskift i !-) Fordi du sender den til funktionen kan det være den fejl, prøv at adressere indholdet direkte og se om det så ikke fungerer: function opdate(tekst,divid) { document.getElementById(divid).innerHTML = window.frames['skjult_sider'].document.getElementById('tekst').innerHTML; }
26. oktober 2003 - 13:09
#4
øhh hvordan skal jeg så få det hele tiden at virke?
26. oktober 2003 - 13:13
#6
.. du kan se at kalederen fx virker uden opdatering når man bladre i den, og dagskalenderne opdateres automatisk, ca hvert 30-45 sek... så jeg har fået det til at virke der!
26. oktober 2003 - 13:17
#7
-- men der har du vel også teksten i een linje ?-)
26. oktober 2003 - 13:18
#8
-- og ovenstående var bare til at teste om min formodning var rigtig !-)
26. oktober 2003 - 13:27
#9
nej der sender jeg også "en hel side", altså hele tabellen som styre det forskellige ting... eller forstår jeg dig forkert når du siger 1 linie?
26. oktober 2003 - 13:37
#10
hrm ...
26. oktober 2003 - 13:50
#11
?
26. oktober 2003 - 13:54
#12
Det virkede altså heller ikke med den direkte adressering ?-)
26. oktober 2003 - 14:26
#13
det ved jeg ikke, for jeg ved ikke hvordan den virker?
26. oktober 2003 - 14:29
#14
document.getElementById(divid).innerHTML = window.frames['skjult_sider'].document.getElementById('tekst').innerHTML;
26. oktober 2003 - 14:42
#15
skal den bare erstatte den gamle opdate function?
26. oktober 2003 - 14:45
#16
hvis jeg ændrede body i profil.php til: <body onLoad="parent.document.getElementById('andet').innerHTML = document.getElementById('tekst').innerHTML;"> virker det, hvordan kan det være? det burde da være det samme så vidt jeg kan se? *weeeee* læg et svar som tak for du gad at bruge tid på det, ellers havde jeg aldrig fået det til at virke!!! TUSIND TAK!
26. oktober 2003 - 14:58
#17
Velbekomme '-) -- og så er der altså noget med den javascript-variabel !-)
26. oktober 2003 - 15:04
#18
hvilken variabel? :/ (prøver mig med javascript, det går bar meget langsomt fremad, så dejligt der er nogen der kan hjælpe!)
26. oktober 2003 - 15:07
#19
ehmn nu siger den en fejl :( selvom jeg ikk har ændret noget... i body-linien
26. oktober 2003 - 15:07
#20
Den variabel som hedder tekst !-) -- i nogle split-sekunder er indholdet af din iframe jo i en javascript-variabel, det var den jeg gættede på som fejlen ... -- og tak for points ;~}
26. oktober 2003 - 15:09
#21
Hvaffen fejl ?-)
26. oktober 2003 - 15:12
#22
Linie: 6 Tegn: 1 Fejl: 'parent.document.getElementById(...)' er null eller ikke et object Kode: 0 Url: .../hent/profil.php ehmn?
26. oktober 2003 - 15:14
#23
hov fejlen er: "Der opstod en ukendt kørselsfejl" istedet for, det andet var fordi jeg åbnede selve filen osv ku den jo self ikke finde parent... men den siger ukendt kørselsfejl?
26. oktober 2003 - 15:15
#24
samme linie, samme tegn, samme kode, samme url, kun fejlen er anderledes!
26. oktober 2003 - 15:29
#25
Du loader vel dit indhold fra det samme domæne ?-)
-- men du kan jo prøve at sætte document.domain til din web-rod:
http://www.myserver.lir.dk/webcal.dk i alle dokumenter ...
26. oktober 2003 - 15:53
#27
Prøv med en setTimeout ...
26. oktober 2003 - 15:55
#28
sådan at den venter ½ sek med at sende?
26. oktober 2003 - 16:01
#29
Ja, f.eks.-)
26. oktober 2003 - 16:09
#30
<body onLoad="setTimeout(parent.document.getElementById('andet').innerHTML = document.getElementById('tekst').innerHTML,500)"> sådan?
26. oktober 2003 - 16:11
#31
den siger samme fejl stadigvæk, og det er lige med det samme og ikke efter de 5 sekunder jeg satte den til, så det må vel ikke være selve måden man sender med?
26. oktober 2003 - 16:12
#32
sådan her ser siden jeg henter fra ud: (lavet med PHP) <? include("../../config.php"); ?> <html> <head> </head> <body onLoad="parent.document.getElementById('andet').innerHTML = document.getElementById('tekst').innerHTML"> <? if ($_GET[bruger] == "") { $bruger = $_SESSION[loginid]; } else { $bruger = $_GET[bruger]; } if ($_POST[opdate] == "ja") { mysql_query("UPDATE webcal_user SET navn = '$_POST[navn]', email = '$_POST[mail]', tlf = '$_POST[tlf]', mobil = '$_POST[mobil]', adresse = '$_POST[adresse]', icq = '$_POST[icq]', msn = '$_POST[msn]' WHERE id = '$_GET[bruger]'") or die(mysql_error()); } $foresp = mysql_query("SELECT * FROM webcal_user WHERE id = '$bruger'") or die(mysql_error()); while($row = mysql_fetch_array($foresp)) { $brugernavn = $row["brugernavn"]; $navn = $row["navn"]; $mail = $row["email"]; $tlf = $row["tlf"]; $mobil = $row["mobil"]; $adresse = $row["adresse"]; $icq = $row["icq"]; $msn = $row["msn"]; $nyadresse = formattext($adresse); $html = ""; $html .= overskrift1("Brugerprofil for " . $brugernavn); if ($bruger == $_SESSION[loginid]) { $html .= "<b><a href='#' onClick='showdiv(\"ret\");showdiv(\"profil\");return false'>vis/ret oplysninger</a></b><br><br>"; } $html .= " <div id='profil' style='display:'> "; if ($navn != "") { $html .= " <b>Rigtige navn</b>:<br> $navn<p> "; } if ($mail != "") { $html .= " <b>Email adresse</b>:<br> <a href='mailto:$mail'>$mail</a><p> "; } if ($tlf != "0") { $html .= " <b>Telefon nummer</b>:<br> $tlf<p> "; } if ($mobil != "0") { $html .= " <b>Mobil nummer</b>:<br> $mobil<p> "; } if ($adresse != "") { $html .= " <b>Adresse</b>:<br> $nyadresse<p> "; } if ($icq != "0") { $html .= " <b>ICQ</b>:<br> $icq<p> "; } if ($msn != "") { $html .= " <b>MSN</b>:<br> $msn<p> "; } $html .= "</div>"; } if ($bruger == $_SESSION[loginid]) { $html .= " <div id='ret' style='display:none'> <form name='ret' method='post' action='hent/profil.php?bruger=$bruger'> <input type='hidden' name='opdate' value='ja'> <b>Rigtige navn</b>:<br> <input type='text' name='navn' value='$navn' class='form_boks' style='width:90%'><p> <b>Email adresse</b>:<br> <input type='text' name='mail' value='$mail' class='form_boks' style='width:90%'><p> <b>Telefon nummer</b>:<br> <input type='text' name='tlf' value='$tlf' class='form_boks' style='width:90%'><p> <b>Mobil nummer</b>:<br> <input type='text' name='mobil' value='$mobil' class='form_boks' style='width:90%'><p> <b>Adresse</b>:<br> <textarea name='adresse' rows='10' class='form_boks' style='width:90%' cols='6'>$adresse</textarea><p> <b>ICQ</b>:<br> <input type='text' name='icq' value='$icq' class='form_boks' style='width:90%'><p> <b>MSN</b>:<br> <input type='text' name='msn' value='$msn' class='form_boks' style='width:90%'><p> <input type='submit' name='submit' value='[ opdatere oplysninger ]' style='width:45%' class='form_knap'> <input type='reset' name='reset' value='[ slet alt ]' style='width:45%' class='form_knap'> </form> </div> "; } ?> <div id='tekst'> <?=$html?> </div> </body> </html>
26. oktober 2003 - 16:13
#33
Du har også syntaksfejl i setTimeout: <body onLoad="setTimeout('parent.document.getElementById(\'andet\').innerHTML = document.getElementById(\'tekst\').innerHTML',500)"> -- og 500 er ½ sekund !-)
26. oktober 2003 - 16:21
#34
okay var jeg ikke klar over det skulle skrives sådan! men det har ingen effekt, godt nok kommer fejlen først efter det ½ sek... så det må vel være noget med hvor der bliver sendt! (havde sat den til 5000 så det var lidt nemmere at fornæmme tidsforskellen ;))
26. oktober 2003 - 16:23
#35
Hmmm ...
26. oktober 2003 - 16:24
#36
hvis jeg i diven ikke skriver HTML indholdet men bar fx hej, så virker det fint nok, så det må være noget af HTML'en der ødelægger det?
26. oktober 2003 - 16:40
#37
.. måske de ' og " der er i?
26. oktober 2003 - 16:53
#38
Det burde ikke betyde noget, for javascript-variabler må godt indeholde ' og ""er, men altså ikke linjeskift !-) Bare til test kunne du jo prøve: if ($bruger == $_SESSION[loginid]) { $html .= " <div id='ret' style='display:none'> <form name='ret' method='post' action='hent/profil.php?bruger=$bruger'><input type='hidden' name='opdate' value='ja'><b>Rigtige navn</b>:<br><input type='text' name='navn' value='$navn' class='form_boks' style='width:90%'><p><b>Email adresse</b>:<br><input type='text' name='mail' value='$mail' class='form_boks' style='width:90%'><p><b>Telefon nummer</b>:<br><input type='text' name='tlf' value='$tlf' class='form_boks' style='width:90%'><p><b>Mobil nummer</b>:<br><input type='text' name='mobil' value='$mobil' class='form_boks' style='width:90%'><p><b>Adresse</b>:<br><textarea name='adresse' rows='10' class='form_boks' style='width:90%' cols='6'>$adresse</textarea><p><b>ICQ</b>:<br><input type='text' name='icq' value='$icq' class='form_boks' style='width:90%'><p><b>MSN</b>:<br><input type='text' name='msn' value='$msn' class='form_boks' style='width:90%'><p><input type='submit' name='submit' value='[ opdatere oplysninger ]' style='width:45%' class='form_knap'><input type='reset' name='reset' value='[ slet alt ]' style='width:45%' class='form_knap'></form> </div> "; }
26. oktober 2003 - 16:58
#39
det gav heller ingen effekt :( virkelig ved at synes det bare skal drille, så mega taknemlig for du gider bruge tid på mig!
26. oktober 2003 - 17:15
#40
Hov, der manglede jo også de sidste linjeskift: $html .= "<div id='ret' style='display:none'><form name='ret' method='post' action='hent/profil.php?bruger=$bruger'><input type='hidden' name='opdate' value='ja'><b>Rigtige navn</b>:<br><input type='text' name='navn' value='$navn' class='form_boks' style='width:90%'><p><b>Email adresse</b>:<br><input type='text' name='mail' value='$mail' class='form_boks' style='width:90%'><p><b>Telefon nummer</b>:<br><input type='text' name='tlf' value='$tlf' class='form_boks' style='width:90%'><p><b>Mobil nummer</b>:<br><input type='text' name='mobil' value='$mobil' class='form_boks' style='width:90%'><p><b>Adresse</b>:<br><textarea name='adresse' rows='10' class='form_boks' style='width:90%' cols='6'>$adresse</textarea><p><b>ICQ</b>:<br><input type='text' name='icq' value='$icq' class='form_boks' style='width:90%'><p><b>MSN</b>:<br><input type='text' name='msn' value='$msn' class='form_boks' style='width:90%'><p><input type='submit' name='submit' value='[ opdatere oplysninger ]' style='width:45%' class='form_knap'><input type='reset' name='reset' value='[ slet alt ]' style='width:45%' class='form_knap'></form></div>";
26. oktober 2003 - 17:23
#41
dem havde jeg selv tænkt mig til ¨så det var med da jeg forsøgte, havde også resten af linieskiftende med, og det hjalp heller ikk! hvad betyder fejlen sådan ordret?
26. oktober 2003 - 17:33
#42
"Der opstod en ukendt kørselsfejl" ?-) -- at der opstod en fejl, som browseren ikke er klar over hvad den skal kalde, det er også derfor jeg ikke ved det !-)
26. oktober 2003 - 17:36
#43
det vil sige der ikke er så meget at gøre?
26. oktober 2003 - 17:40
#44
Måske, men jeg kan ikke gennemskue, hvorfor den fejler og dermed ikke li'e finde en løsning ... -- og slet ikke i betragtning af, at du siger det faktisk virkede !-)
26. oktober 2003 - 17:42
#45
det virkede li i 2 mins eller noget, men må vel ha rettet noget på en måde :/ ville det hjælpe hvis du så alle filerne, så du bedre kan sætte dig ind i det?
26. oktober 2003 - 18:42
#46
der må være noget galt i disse 2 sætning (uden dem virker siden!) if ($bruger == $_SESSION[loginid]) { $html .= "<b><a href='#' onClick='showdiv(\"ret\");showdiv(\"profil\");return false'>vis/ret oplysninger</a></b><br><br>"; } if ($mail != "") { $html .= " <b>Email adresse</b>:<br> <a href=mailto:$mail>$mail</a><p> "; } kan du se noget?
26. oktober 2003 - 18:49
#47
-- og det virker præcis når du fjerner begge ?-) Der ser ikke noget galt ud (og du får korrekt erstattet $mail ?-)
26. oktober 2003 - 18:56
#48
ja det virker helt fint når de 2 dele ikke er der... ret så 'spooky'! hvad mener du med om $mail bliver erstattet rigtigt?
26. oktober 2003 - 18:58
#49
mail-delen virker hvis der ikke er et hyperlink til mailen, så jeg ku forestille mig at det har noget at gøre med links, for der er jo os et link i den anden der ikke kan være der!
26. oktober 2003 - 20:41
#50
det er 100% sikkert det er pga link den fejler, selv hvis man kun "indhægner" noget tekst med <a></a> så fejler den, det er da MEGA træls!
27. oktober 2003 - 10:24
#51
Nu kan jeg ikke lige huske hvordan man sætter tegn ind i php, men jeg ville da lige teste om man kunne sætte den char ind som er < i de der a og /a tags !-)
27. oktober 2003 - 11:06
#52
< og > virker jo fint i fx <b></b> og <br> + <p> når nu det er at javascript tager indholdet fra div'en, tager den det så som HTML, eller som det står på siden, for hvis det bliver taget som det står på siden, så er det jo logik at den får problemmer med at fange links rigtigt da man jo ikke kan se det underlæggende
27. oktober 2003 - 11:08
#53
Hvis du tager med innerHTML, så tager du HTML-koden !-)
27. oktober 2003 - 11:35
#54
okay hva var det så du mente med at om man kunne sætte det ind i en char?
27. oktober 2003 - 11:36
#55
-- det var for evt. at snyde et eller andet undervejs, så den 'overså' de der a-tags !-)
27. oktober 2003 - 11:38
#56
hvordan skal jeg gøre det? sætte en \ foran fx?
27. oktober 2003 - 11:41
#57
Det er jo det jeg ikke kan huske fra min 1-times læsning af en php-bog ...
27. oktober 2003 - 11:49
#58
okay men så vil jeg oprette et nyt spm for at se om andre kan huske det ;) (self med lidt points til dig også... hehe) mange tak for hjælpen indtil!
27. oktober 2003 - 11:54
#59
;O)
Vi tilbyder markedets bedste kurser inden for webudvikling