Avatar billede m-rachlitz Nybegynder
10. maj 2008 - 13:49 Der er 14 kommentarer og
1 løsning

Send og modtag variabel

Hej igen eksperter!

I dag har jeg sat mig for at lave et simpelt "preview"-script til min blog. Det skal fungerer således at jeg sender dataen fra et <textarea name="tekst"></textarea> ved hjælp af <input type="button" class="bb_preview" value="" />.

Problemet ligger i at jeg ikke ved hvordan jeg skal sende dataen til næste side - da min form jo siger <form action="opret.php">
og min <input type="submit" value="gem"> selvfølgelig styrer selve oprettelsen af mit emne.

jeg har overvejet at udskifte <input type="button" class="bb_preview" value="" /> med:
<a href="php/functions/test.php"><img src="images/bb_preview.gif" target="_blank"></a> da jeg egentlig gerne vil have preview siden vist i et nyt vindue også. Men hvordan får jeg dataen fra mit textarea over i en ny side uden at bruge submit funktionen?

Et andet spørgsmål, kan dette overhovedet lykkedes med PHP eller skal der bruges java?

MVH. Michael
Avatar billede olebole Juniormester
10. maj 2008 - 13:56 #1
<ole>

Jeg har ingen anelse om, hvad du skriver om  =)

/mvh
</bole>
Avatar billede m-rachlitz Nybegynder
10. maj 2008 - 14:16 #2
Hehe okay, prøver at omformulerer så.

Jeg har mit "opret kommentar script" som ser således ud kort:
<form name="Textarea" action="php/functions/opret_kommentar.php" method="POST" enctype="multipart/form-data">
    <input type="button" onclick="addbbcode('[f]', '[/f]')" class="bb_bold">
    <input type="button" onclick="addbbcode('[k]', '[/k]')" class="bb_italic">
    <input type="button" onclick="addbbcode('
    ', '
')" class="bb_list">
    <br>
    <textarea name="tekst" class="kommentar_tekst"></textarea>
    <br>
    <!-- eksempel 1 --> <a href="php/functions/preview_test.php"><img src="images/bb_preview.gif"></a>
    <!-- eksempel 2 --> <input type="button" class="bb_preview" value="" />
    <input type="submit" class="bb_save" value="" />
</form>

Det er så selve siden hvor jeg opretter kommentarer. At oprette kommentarer virker som det skal, det er min preview funktion som jeg ikke lige ved hvordan jeg skal gå til.

Altså når jeg klikker på en af de 2 preview knapper, så skulle jeg gerne sendes til min side "preview_test.php" som jeg gerne ville have åbnes i et nyt vindue. I det nye vindue vil jeg gerne have at min data (det jeg har skrevet som kommentar) fra mit <textarea name="tekst"></textarea> bliver sendt med og udskrives, så den får en preview funktion. Altså indholdet fra textareat skal sendes til preview_test.php og fra at være data i textareat, laves om til dataen i en $_SESSION["kommentar_tekst"] også udskrives via <? echo bbcode($kommentar); ?> eller lign. (selve min bbcode() funktion virker som det skal.

Håber denne forklaring er bedre, ellers må jeg prøve at forklare det på webcam og upload på youtube :D he he.
Avatar billede m-rachlitz Nybegynder
10. maj 2008 - 14:17 #3
altså er det koden i selv preview_test.php jeg er i tvivl om, samt hvordan jeg i min <form> stilling får fortalt mine "preview" knapper at jeg vil sende dataen fra textarea til preview_test.php UDEN at det skal sendes via action="php/functions/opret_kommentar.php"
Avatar billede jakobdo Ekspert
10. maj 2008 - 14:21 #4
Det jeg tror spørgeren er ude efter, er følgende funktion:

CANCEL - PREVIEW - OPRET

F.eks. under et indlæg eller lign.
Avatar billede m-rachlitz Nybegynder
10. maj 2008 - 14:24 #5
Ja :-) præcis. Jeg beklager hvis det er elendig formuleret
Avatar billede jakobdo Ekspert
10. maj 2008 - 14:33 #6
Jeg ville nok løse det på følgende måde:

post alle data til en side.
Er knappen preview trykket så skal koden gemmes i f.eks. en session.
og koden vises på siden.

Er knappen gem trykket, så gemmer vi data direkte.
Avatar billede m-rachlitz Nybegynder
10. maj 2008 - 14:37 #7
Okay det var så mit alternativ. Men har ingen anelse om hvordan jeg fortæller hvorvidt knappen er gem trykket eller preview trykket til den side. Kunne du skrive et eksempel eventuelt, jeg er helt på bar bund.

MVH Michael
Avatar billede jakobdo Ekspert
10. maj 2008 - 14:50 #8
<form action"test.php">
<input type="submit" value="Preview" name="preview">
<input type="submit" value="Save" name="save">
</form>

//test.php
if(isset($_POST['preview'])){
  echo 'Vi skal lave noget med preview...';
}

if(isset($_POST['save'])){
  echo 'Vi skal lave noget med at gemme...';
}
Avatar billede m-rachlitz Nybegynder
10. maj 2008 - 15:00 #9
ah ja, nu husker jeg det. :-) kan huske jeg fik noget lignende forklaret for nogle år siden af en ven der gik på webintegrator uddannelser ;-)

Smid svar Jakobdo, ved præcis hvordan jeg skal have det lavet nu - mange tak for hjælpen.
Avatar billede m-rachlitz Nybegynder
10. maj 2008 - 15:41 #10
Og dog, som sagt ville jeg gerne have preview funktionen åbnet i et nyt vindue, så det gamle vindue stadig forblev uændret, så man kunne foretage ændringer hvis man ikke var tilfreds. Har læst lidt rundt på nettet og er kommet frem til at PHP ikke kan åbne nye vinduer med fast bredde og højde, og at jeg derfor er nødt til at flytte noget af mit spørgsmål til folk med java kendskab.

Men smid svar så snart du har tid Jakobdo
Avatar billede jakobdo Ekspert
10. maj 2008 - 18:29 #11
Du kan jo lave:

<input type="button" onclick="popupPreview();" name="preview" value="Preview">

Og så lade funktionen popupPreview() åbne et nyt vindue, hvor den henter værdien fra din textarea med: document.getElementById('textareaID').value eller hvad den nu hedder.
Avatar billede m-rachlitz Nybegynder
10. maj 2008 - 19:26 #12
ordnede det på en lidt anden måde. Jeg brugte hele det system du gav mig, også det med if post[preview] osv.

ændrede blot test.php

<?
session_start();
unset($_SESSION["notat_session"]);
require('functions.php');
if(isset($_POST['preview'])){
    $_SESSION["notat_session"] = $_POST['tekst'];
    ?>
    <SCRIPT LANGUAGE="javascript">
    <!--
    window.open ('preview.php','Preview window','location=1,status=1,scrollbars=1,width=570,height=300,left=100,top=10')
    -->
    </SCRIPT>
    <script language="JavaScript">
    window.history.back();
    </script>
    <?
}
if(isset($_POST['save'])){
  echo 'Vi skal lave noget med at gemme...';
}
?>

er stadig lige ved at rode med save funktionen, skal have noget java alert igang tror jeg. men nu må vi se hvordan det forløber sig, havde pludselig en masse have arbejde det skulle laves her i det gode vejr. :-)

Men smid svar Jakobdo, du hjalp mig på rette vej :-)
Avatar billede jakobdo Ekspert
10. maj 2008 - 20:18 #13
Du får et svar.
Avatar billede jakobdo Ekspert
10. maj 2008 - 23:34 #14
Takker for point.
Avatar billede m-rachlitz Nybegynder
10. maj 2008 - 23:54 #15
selv tak :-)
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