Avatar billede learner Praktikant
28. marts 2006 - 15:53 Der er 22 kommentarer og
1 løsning

udskrive indhold i textarea

Hej, jeg har et
<textarea readonly='readonly'><?php echo $Array['complete_message_not_html']; ?></textarea>

Og jeg vil gerne udskrive indholdet deri. Kan jeg gøre det? Evt med en knap eller et link. (Det skal virke i de fleste browsere)

På forhånd tak :o)
Avatar billede olebole Juniormester
28. marts 2006 - 16:19 #1
<ole>

<style type="text/css">
@media print {
    * {
        display: none   
    }
    textarea {
        display: block
    }
}
</style>

http://www.w3.org/TR/REC-CSS2/media.html

- og knappen:
    <button onclick="window.print()">Print</button>

/mvh
</bole>
Avatar billede learner Praktikant
28. marts 2006 - 16:33 #2
Øhhh, Er du flink at hjælpe lidt mere, for jeg tror det er rigtigt nok. Men jeg har lidt svært ved at se hvordan jeg skal gøre det..

Ps der er mange textareas og der skal være en knap til hver, som kun udskriver den tilhørende textarea

:o)
Avatar billede olebole Juniormester
28. marts 2006 - 16:42 #3
Så kan du ikke bruge den løsning. Løsningen vil komme anpå sammenhængen, den skal bruges i - og det er jo ikke til at se  :)
Avatar billede learner Praktikant
28. marts 2006 - 16:52 #4
Okay :o)
Kender du en en anden løsning som passer til det?
Avatar billede learner Praktikant
28. marts 2006 - 17:09 #5
Jeg har søgt en del nu og ikke fundet noget anvendeligt...

Kunne man evt åbne en ny rå side side og indsætte teksten der. Og erstatte linieskift (/n) med <br>

Kan nogen så fortælle hvordan man replacer /n med <br> ???

Også gerne andre ideer?

Det må da være muligt :o)
Avatar billede learner Praktikant
28. marts 2006 - 17:12 #6
Ide: lave en $_POST["skal_udskrives"] og sende til en ny _blank side... som så viser indholdet i $_POST["skal_udskrives"] på en blank side. Og automatisk åbner 'print' med JS... Kan det lade sig gøre rimelig let?
Avatar billede olebole Juniormester
28. marts 2006 - 17:42 #7
Jeg kan som sagt ikke komme med 'det smarte bud' uden at kunne se, hvordan det skal bruges
Avatar billede learner Praktikant
28. marts 2006 - 17:47 #8
okay, jeg bygger os på det lige nu. Den sender teksten til en ny side og viser alm html. Men jeg kunne godt bruge hjælp til at replace /n (linieskift) til <br>. Kender du evt en funktion der kan det?

Ved du hvordan man automatisk åbner 'udskriv' når siden er loaded?

Takker :o)
Avatar billede learner Praktikant
28. marts 2006 - 18:04 #9
denne ser ud til at virke: preg_replace("/\r\n|\n|\r/", "<br>", $text) korrekt?
Avatar billede olebole Juniormester
28. marts 2006 - 18:07 #10
I PHP kan du bruge den indbyggede funktion nl2br:
    http://dk2.php.net/manual/da/function.nl2br.php

- og automatisk print kan du lave på sidens onload-event:

<script type="text/JavaScript">
window.onload = window.print;
</script>
Avatar billede learner Praktikant
28. marts 2006 - 18:15 #11
så mangler jeg bare den automatisk udskriver siden / åbner udskriv. Hvordan??? hmmm... :o)
Avatar billede learner Praktikant
28. marts 2006 - 18:15 #12
Sorry så ikke dit indlæg :o)
Avatar billede learner Praktikant
28. marts 2006 - 18:21 #13
Jeps jeg gør så bare således: str_replace("<br />", "<br>", nl2br($text)) for jeg kører stadig med de gamle <br> :o) - Jeg ved faktisk ik engang hvad forskellen er :o)

Nu er det ved at være på plads :o)

Mange tak :o)
Avatar billede learner Praktikant
28. marts 2006 - 18:27 #14
æhh :o) kan man også sætte den til at lukke automatisk bagefter den er udskrevet? :o)

window.onload = window.print;
og bagefter  window.close;
Avatar billede olebole Juniormester
28. marts 2006 - 18:49 #15
Nej, for browseren kan ikke vide, hvornår der er printet færdig. I stedet kan du vel fyre dokumentet af mod en skjult iframe:

<iframe src="about:blank" name="myFrame" style="display:none"></iframe>

- og så i din form:

<form action="side.php" target="myFrame" method="post">
    <textarea>Tekst, der skal printes</textarea>
    <button>Print</button>
</form>

- så ser brugeren ikke hvad der sker og generes ikke af 'popups'  :)
Avatar billede olebole Juniormester
28. marts 2006 - 18:50 #16
- det gik vist lidt hurtigt  :)

<form action="side.php" target="myFrame" method="post">
    <textarea name="noget">Tekst, der skal printes</textarea>
    <button type="submit">Print</button>
</form>
Avatar billede learner Praktikant
28. marts 2006 - 22:57 #17
Det var virkelig en god ide :o)

Tak for det :o)
Avatar billede learner Praktikant
28. marts 2006 - 23:23 #18
Nu har jeg lavet det ca således:

<?php
if (($_POST["print"])&&($_POST["print_this"])){
    require($_SERVER["DOCUMENT_ROOT"]."/simpel_top.php");?>
    <script language='JavaScript'>
        window.onload = window.print;
    </script>
    <?php
    echo $_POST["print_this"];
    require($_SERVER["DOCUMENT_ROOT"]."/simpel_bund.php");
    exit;
}    ?>


<textarea readonly='readonly'><?php echo $Array['kvittering']; ?></textarea>
<form action="denne_fil.php" method="POST" target="loadFR">
    <input type='submit' name='print' value='<?php echo _("Print"); ?>'>
    <input type="hidden" name='print_this' value='<?php echo str_replace("<br />", "<br>", nl2br($Array['kvittering'])); ?>'>
</form>
gentagne gange....


og i bunden har jeg lavet:
<iframe name="loadFR" src="about:blank" style="display:none"></iframe>
Avatar billede learner Praktikant
28. marts 2006 - 23:25 #19
øhh, denne:
<script language='JavaScript'>
    window.onload = window.print;
</script>
ligger godtnok i <head> som den skal.... Bare et simpelt eksempel :o)

Ser det ik ok ud?
Avatar billede learner Praktikant
29. marts 2006 - 00:48 #20
Det virker :o)

Mange tak for hjælpen :o)
Avatar billede learner Praktikant
29. marts 2006 - 00:50 #21
ole smid lige et svar :o)
Avatar billede olebole Juniormester
29. marts 2006 - 12:41 #22
- selvtak ... jeg var ikke på i går aftes, så derfor svarede jeg dig ikke  :)
Avatar billede olebole Juniormester
29. marts 2006 - 14:48 #23
Tak for points  ;o)
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