Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  5 607
Jeg har en form som jeg ønsker at innholdet skal beholdes i når man går inn på en annen side innenfor sida, slik at hvis man skrev inn "lol", så står "lol" der ennå, fordi du trykka på en link som fremdeles inneholder akkurat samme form, bare at sida er annerledes. I praksis betyr dette å submitte en form uavhengig av om man trykker på en link, en submit button eller noe annet. Noen som har et lurt forslag?

Dette var litt vanskelig å forklare, så hvis du ikke skjønte så trenger du ikke å nøle med å si ifra.
du skal bytte forumscript og vil få overført trådene?
Evelen2: Han snakker ikke om FORUM, men FORM


Trådstarter: Kan du sende koden du har fra før? Jeg tror jeg vet løsningen på det
Sist endret av NovaDecker; 10. oktober 2008 kl. 12:30.

Kode

echo '<div id="notat">';

echo '<table class="notattabell">

<form name="notat" action="'.$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'].'" method="POST">

<tr><td colspan="2"><textarea class="notat" name="notat" maxlength="10">'.$notater->notater.'</textarea></td></tr>

</table>

</div>

</form>';
Der har du den, litt PHP og HTML rundt omkring. Konseptet bygger på en notatblokk man kan skrive i hvor notatene ikke forsvinner, selv om man velger å bytte funksjonsside inne på sida.
Sist endret av Darkness123; 10. oktober 2008 kl. 13:03.
Limited edition
Moff's Avatar
Mulig jeg surrer litt, men jeg tror egentlig at den "letteste" måten å gjøre det på er å lage tekstblokka i Flash, og bruke Flash sin cookie-lignende funksjon (som heter noe med local-blah-blah-blah) slik at du lagrer teksten på klientens maskin. Dette gjør at du slipper å overføre teksten til serveren din. Igjen, hvis klienten får et nervøst sammenbrudd og sletter informasjonen, så holder ikke det helt. Kan jo også hende at klienten vil bruke to forskjellige maskiner, og flytte teksten sin i mellom.

For å overfør data mellom klient og server kan du se på AJAX. Dette er en javascript-greie, hvor du kan sende informasjon til serveren uten at siden "oppdateres" (uten å trykke submit, refresh eller på en eller anna link). En enkel løsning kan være å bruke javascript-funksjonen "onchange" på denne tekstboksen, slik at AJAX-skriptet sender teksten til serveren hver gang teksten endres. Den store haken ved dette er at det vil gomle greit mye båndbredde å sende informasjon HVER gang et tegn endres i tekstfeltet. Du kan selvsagt skrive et filter med javascript som kun oppdaterer når for eksempel 10 tegn er endret, eller hvert 5 minutt.

Siste løsning, som jeg antar er mest praktisk, er å legge inn den samme AJAX-funksjonen - men du gjør slik at den kun sender data til serveren når klienten trykker på en lenke. Så vidt jeg vet er eneste måte å fikse det på, å fysisk legge til at funksjonen kjøres i hver eneste lenke på hele sida di.

Her er en veldig lettelst (engelsk) guide på AJAX:
http://www.tizag.com/ajaxTutorial/

...Personlig ville jeg lagt inn en Lagre-knapp. Det sparer mye arbeid. Er ingenting i veien for å bruke AJAX i en slik knapp heller, det vil se ganske smooth ut.
Det enkleste er å bruke en querystring i linken som inneholder infoen om hva som skal stå i den boksen.

Kode

echo '<div id="notat">';
echo '<table class="notattabell">';
echo '<form name="notat" action="'.$_SERVER['PHP_SELF'].'" method="GET">';
echo '<input type="hidden" name="funksjonstring" value="'.$_GET['navnpåquery'].'" />';
echo '<tr><td colspan="2"><textarea id="notat" class="notat" name="notat" value="'.$_GET['notat'].'" maxlength="10">'.$notater->notater.'</textarea> <input type="submit" value="Oppdater"></td></tr>';
echo '</table>';
echo '</div>';
Eller så kan du bruke en session variabel, eller cookie...
Lag deg ett fake js script. Virker dårlig i FF dog.

Kode

<script type="text/javascript" id="fakeajax"></script>
<script type="text/javascript">
 function updateNote(txtbox)
 {
  document.getElementById("fakeajax").src = "fajax/updatenote.php?txt=" + document.getElementById("notat").value
  alert(updateMsg) //Denne blir definert i updatenote.php
 }
</script>
i updatenote.php så lagrer vi ?txt=[value] i en session. Denne session blir brukt når notatet vises igjen.

<textarea id="notat" class="notat" name="notat" value="'.$_SESSION['notat'].'" maxlength="10">

Vet ikke hvor godt ff liker dette. Kan vær du må ha ett random tall bak ?txt[value] for att dette ska virke skikkelig flere ganger....