Avatar billede elskermad.dk Nybegynder
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 :/
Avatar billede roenving Novice
26. oktober 2003 - 12:41 #1
Hvordan ser funktionen andet ud ?-)
Avatar billede elskermad.dk Nybegynder
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...
Avatar billede roenving Novice
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;
}
Avatar billede elskermad.dk Nybegynder
26. oktober 2003 - 13:09 #4
øhh hvordan skal jeg så få det hele tiden at virke?
Avatar billede elskermad.dk Nybegynder
26. oktober 2003 - 13:12 #5
.. og som sagt så virker det på andre iframes/divs jeg har.... du kan se siden her:

http://www.myserver.lir.dk/webcal.dk/bruger/login.php?mode=demo (tager lidt tid at loade) så er det menupunktet profil som skulle hente siden "hent/profil.php" og sende den til diven...
Avatar billede elskermad.dk Nybegynder
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!
Avatar billede roenving Novice
26. oktober 2003 - 13:17 #7
-- men der har du vel også teksten i een linje ?-)
Avatar billede roenving Novice
26. oktober 2003 - 13:18 #8
-- og ovenstående var bare til at teste om min formodning var rigtig !-)
Avatar billede elskermad.dk Nybegynder
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?
Avatar billede roenving Novice
26. oktober 2003 - 13:37 #10
hrm ...
Avatar billede elskermad.dk Nybegynder
26. oktober 2003 - 13:50 #11
?
Avatar billede roenving Novice
26. oktober 2003 - 13:54 #12
Det virkede altså heller ikke med den direkte adressering ?-)
Avatar billede elskermad.dk Nybegynder
26. oktober 2003 - 14:26 #13
det ved jeg ikke, for jeg ved ikke hvordan den virker?
Avatar billede roenving Novice
26. oktober 2003 - 14:29 #14
document.getElementById(divid).innerHTML = window.frames['skjult_sider'].document.getElementById('tekst').innerHTML;
Avatar billede elskermad.dk Nybegynder
26. oktober 2003 - 14:42 #15
skal den bare erstatte den gamle opdate function?
Avatar billede elskermad.dk Nybegynder
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!
Avatar billede roenving Novice
26. oktober 2003 - 14:58 #17
Velbekomme '-)

-- og så er der altså noget med den javascript-variabel !-)
Avatar billede elskermad.dk Nybegynder
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!)
Avatar billede elskermad.dk Nybegynder
26. oktober 2003 - 15:07 #19
ehmn nu siger den en fejl :( selvom jeg ikk har ændret noget... i body-linien
Avatar billede roenving Novice
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 ;~}
Avatar billede roenving Novice
26. oktober 2003 - 15:09 #21
Hvaffen fejl ?-)
Avatar billede elskermad.dk Nybegynder
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?
Avatar billede elskermad.dk Nybegynder
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?
Avatar billede elskermad.dk Nybegynder
26. oktober 2003 - 15:15 #24
samme linie, samme tegn, samme kode, samme url, kun fejlen er anderledes!
Avatar billede roenving Novice
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 ...
Avatar billede elskermad.dk Nybegynder
26. oktober 2003 - 15:38 #26
ja det hele ligger unde http://www.myserver.lir.dk/webcal.dk/bruger/ så det burde vel ikke være nødvendigt? men det virkede jo dengang jeg accepterede dit svar :/
Avatar billede roenving Novice
26. oktober 2003 - 15:53 #27
Prøv med en setTimeout ...
Avatar billede elskermad.dk Nybegynder
26. oktober 2003 - 15:55 #28
sådan at den venter ½ sek med at sende?
Avatar billede roenving Novice
26. oktober 2003 - 16:01 #29
Ja, f.eks.-)
Avatar billede elskermad.dk Nybegynder
26. oktober 2003 - 16:09 #30
<body onLoad="setTimeout(parent.document.getElementById('andet').innerHTML = document.getElementById('tekst').innerHTML,500)">

sådan?
Avatar billede elskermad.dk Nybegynder
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?
Avatar billede elskermad.dk Nybegynder
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>
Avatar billede roenving Novice
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 !-)
Avatar billede elskermad.dk Nybegynder
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 ;))
Avatar billede roenving Novice
26. oktober 2003 - 16:23 #35
Hmmm ...
Avatar billede elskermad.dk Nybegynder
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?
Avatar billede elskermad.dk Nybegynder
26. oktober 2003 - 16:40 #37
.. måske de ' og " der er i?
Avatar billede roenving Novice
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>
    ";   
}
Avatar billede elskermad.dk Nybegynder
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!
Avatar billede roenving Novice
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>";
Avatar billede elskermad.dk Nybegynder
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?
Avatar billede roenving Novice
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 !-)
Avatar billede elskermad.dk Nybegynder
26. oktober 2003 - 17:36 #43
det vil sige der ikke er så meget at gøre?
Avatar billede roenving Novice
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 !-)
Avatar billede elskermad.dk Nybegynder
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?
Avatar billede elskermad.dk Nybegynder
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?
Avatar billede roenving Novice
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 ?-)
Avatar billede elskermad.dk Nybegynder
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?
Avatar billede elskermad.dk Nybegynder
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!
Avatar billede elskermad.dk Nybegynder
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!
Avatar billede roenving Novice
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 !-)
Avatar billede elskermad.dk Nybegynder
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
Avatar billede roenving Novice
27. oktober 2003 - 11:08 #53
Hvis du tager med innerHTML, så tager du HTML-koden !-)
Avatar billede elskermad.dk Nybegynder
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?
Avatar billede roenving Novice
27. oktober 2003 - 11:36 #55
-- det var for evt. at snyde et eller andet undervejs, så den 'overså' de der a-tags !-)
Avatar billede elskermad.dk Nybegynder
27. oktober 2003 - 11:38 #56
hvordan skal jeg gøre det? sætte en \ foran fx?
Avatar billede roenving Novice
27. oktober 2003 - 11:41 #57
Det er jo det jeg ikke kan huske fra min 1-times læsning af en php-bog ...
Avatar billede elskermad.dk Nybegynder
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!
Avatar billede roenving Novice
27. oktober 2003 - 11:54 #59
;O)
Avatar billede elskermad.dk Nybegynder
27. oktober 2003 - 11:54 #60
http://www.eksperten.dk/spm/419307, meget dårligt formuleret, men vidste ikke rigtig hva jeg sku skrive! :/
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