Avatar billede henrik6666 Nybegynder
16. november 2008 - 15:50 Der er 17 kommentarer og
1 løsning

Preview knap

Hvordan indsætter jeg en preview knap hvor indholdet kan vises i iframen (side3.php) inden jeg submitter (side2.php) ?

<table>
<tr>
<td>
<form method=post action="side2.php">   
Linie 1 : <input type="text" name="linie1" size="25"><br>
Linie 2 : <input type="text" name="linie2" size="25">
<input type="submit" value="Videre">
</form>
</td>
<td>
<iframe src="side3.php" name="preview"></iframe>
</td>
</tr>
</table>
Avatar billede w13 Novice
16. november 2008 - 15:53 #1
Hvad er det, der skal vises? Altså hvad er det, brugeren har tastet, og hvor i iFramen skal det indsættes? Og hvorfor i en iFrame? Hvorfor ikke bare en div-boks?
Avatar billede henrik6666 Nybegynder
16. november 2008 - 16:16 #2
Nedenstående vises på side2.php og det er stort set det samme jeg gerne vil ha' vist i iframen (side3.php)

<?php echo $_POST["linie1"]; ?><br>
<?php echo $_POST["linie2"]; ?><br>

Hvorfor iframe - fordi så er jeg mest på hjemmebane :-)
Avatar billede henrik6666 Nybegynder
16. november 2008 - 16:17 #3
Er der stor forskel på kodningen om det er en div boks eller en iframe ?
Avatar billede henrik6666 Nybegynder
16. november 2008 - 16:19 #4
Jeg tror bedst jeg kan lide iframen for senere hen vil jeg gerne indføre font-size og skrifttype og de variabler der så sendes/previewes i iframen kan jeg bedre selv bearbejde med lidt php kodning ..
Avatar billede olebole Juniormester
16. november 2008 - 16:19 #5
<ole>

Det er to forskellige sprog - og det ene afvikles på serveren, mens det andet afvikles i browseren

/mvh
</bole>
Avatar billede olebole Juniormester
16. november 2008 - 16:21 #6
Du kan skrive:
    <form method=post action="side2.php" target="preview">

Så kan du formatere dine data o vise dem i 'side2.php'
Avatar billede w13 Novice
16. november 2008 - 16:25 #7
Ja, det bliver meget nemmere og det understøttes meget bedre. =)

<script type="text/javascript">
function Preview(){
    var oPreview = document.getElementById("preview");
   
    for (var i = 0, im = oPreview.childNodes; i < im.length; i++)
        oPreview.removeChild(im[i]);
   
    var oLinie1 = document.getElementById("linie1").value;
    var oLinie2 = document.getElementById("linie2").value;
   
    oPreview.appendChild(document.createTextNode(oLinie1));
    oPreview.appendChild(document.createElement("br"));
    oPreview.appendChild(document.createTextNode(oLinie2));
}
</script>

<table>
<tr>
<td>
<form method="post" action="side2.php">   
Linie 1 : <input type="text" id="linie1" name="linie1" size="25"><br>
Linie 2 : <input type="text" id="linie2" name="linie2" size="25">
<input type="submit" value="Videre">
<input type="button" value="Preview" onclick="Preview()">
</form>
</td>
<td>
<div id="preview">e<br>e</div>
</td>
</tr>
</table>

Men hvorfor du så bruger table, ved jeg ikke. =) Den ville jeg nok droppe, hvis jeg var dig.
Avatar billede w13 Novice
16. november 2008 - 16:26 #8
Oles løsning er dog også god, hvis du fortsat vil arbejde med iFrames.
Avatar billede w13 Novice
16. november 2008 - 16:27 #9
Men hvis side2.php gemmer noget, vil det også blive gemt, når man trykker Preview.
Avatar billede olebole Juniormester
16. november 2008 - 16:31 #10
- man kunne skrive det ind i skjulte felter i en form i side2.php. Så kunne man desuden lægge en 'Godkend' knap i denne form - og først gemme, når den bliver klikket.

Jeg har dog på fornemmelsen, det er noget lidt mere komplekst, spørgeren i virkeligheden ønsker  =)
Avatar billede henrik6666 Nybegynder
16. november 2008 - 16:35 #11
Har du mulighed for at vise samme eksempel hvor der previewes til iframen. Har det bedst med at være på hjemmebane selvom det pt ikke er det mest optimale men så kan jeg bedre selv udbygge scriptet og indføre font-size, skrifttype og liniehøjde :-)
Avatar billede w13 Novice
16. november 2008 - 16:40 #12
Som både Olebole og jeg er inde på, vil der meget nemt kunne opstå uforudsete problemer.

Men du kan gøre sådan her i stedet:

<table>
<tr>
<td>
<form method="post" action="side2.php">   
Linie 1 : <input type="text" id="linie1" name="linie1" size="25"><br>
Linie 2 : <input type="text" id="linie2" name="linie2" size="25">
<input type="submit" value="Videre" onclick="this.form.setAttribute('action', 'side2.php'); this.form.setAttribute('target', '');">
<input type="submit" value="Preview" onclick="this.form.setAttribute('action', 'side3.php'); this.form.setAttribute('target', 'preview');">
</form>
</td>
<td>
<iframe src="side3.php" name="preview"></iframe>
</td>
</tr>
</table>

Og så skal side3.php indeholde:

<?php echo $_POST["linie1"]; ?><br>
<?php echo $_POST["linie2"]; ?><br>

Men hvis du i stedet bruger den div-kode, jeg foreslog, så skal du jo bare sætte font-size, font-family, line-height o.lign. med CSS på den div? Det bliver stadig meget, meget nemmere. =)
Avatar billede henrik6666 Nybegynder
16. november 2008 - 16:55 #13
Okay - jeg prøver lige selv om jeg kan hitte ud af at omskrive koderne den næste times tid ;-)
Avatar billede olebole Juniormester
16. november 2008 - 17:37 #14
"Som både Olebole og jeg er inde på, vil der meget nemt kunne opstå uforudsete problemer." >> Hehe ... egentlig synes jeg ikke, jeg eksplicit har givet udtryk for denne bekymring. På den anden side kender vi efterhånden hinanden så godt, at vi kan læse en masse mellem hinandens linjer ... og du har jo helt ret!  ;D
Avatar billede w13 Novice
16. november 2008 - 17:48 #15
Hehe. Jeg mente mest bare det, at vi ikke aner, hvad spørgeren forsøger helt præcis, og hvad der bliver gjort på PHP-siderne. =)
Hvilket du jo også gættede på, var temmelig komplekst.

For en optimal løsning, skulle vi nok se side2.php.
Avatar billede olebole Juniormester
16. november 2008 - 17:50 #16
Som sagt: Du behøver ikke fortælle, hvad du mente! *LoL*
Avatar billede w13 Novice
16. november 2008 - 17:53 #17
Haha. :D

Det vil jeg holde op med fra nu af så, men måske går der så en masse henover hovederne på de, som måtte læse med. =)
Avatar billede henrik6666 Nybegynder
19. november 2008 - 22:52 #18
Tak for hjælpen - Super :-)
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