Avatar billede Slettet bruger
20. maj 2007 - 12:57 Der er 7 kommentarer og
1 løsning

Gå tilbage og Inputs er udfyldte igen?

Hej eksperter.

Hvis nu jeg skriver en masse i nogle inputs, og man trykker send, går den over til en anden side og poster svarene, HVIS de ikke findes i forvejen, ellers går den tilbage med en fejl=brugernavn fx.
Hvordan kan man gøre så når den går tilbage, så husker den også alle inputsnes tidligere skrift, så man ikke skal til at skrive det hele om igen?
Avatar billede keysersoze Ekspert
20. maj 2007 - 13:20 #1
du bliver nødt til at "gemme" de indtastede oplysninger et sted på den side hvor fejlen kan opstå og sender brugeren tilbage og så hente dem frem igen på siden med input felterne - det kan fx være vha sessions eller du kan vha javascript submitte nogle hiddens formfields tilbage til siden.
Avatar billede Slettet bruger
20. maj 2007 - 13:43 #2
okay, jeg havde også overvejet sessions lidt, men vidste ikke om det var en god løsning, men hvis det er den eneste, må jeg bruge den :) For gider ik rigtig javascript..
men tak for det :) smid et svar
Avatar billede w13 Novice
20. maj 2007 - 14:50 #3
Hvis du gad JavaScript, kunne jeg varmt anbefale at bruge AJAX. Med det behøver du ikke at gå over på en ny side for at gemme, den gør det på en måde bag om formularsiden. Hvis der opstår fejl, giver ASP-siden bare besked tilbage til HTML-siden og felterne har stadig deres indhold. =)
(Ajax kan altså være en blanding af JavaScript og Server-Side sprog.)
Avatar billede Slettet bruger
20. maj 2007 - 18:47 #4
w13:

Jeg har tit tænkt på at lære AJAX, men jeg har aldrig haft tid til at begynde på det helt.. men kunne da godt være jeg skulle lege lidt med det her til sommer engang :)
Avatar billede w13 Novice
20. maj 2007 - 19:12 #5
Det er ikke så længe siden jeg lærte det, og jeg synes det er så dejligt. :)

Du får lige min grundlæggende Ajax-kode her, så du har den: (Gode tutorials er svære at finde :)
---------------------------------------------------
<script language="JavaScript" type="text/JavaScript">
//Opretter forbindelse afhængigt af browseren
function createXHR() {
    var req = false;
        try {
            req = new ActiveXObject('Msxml2.XMLHTTP');
        }
        catch (err2) {
            try {
                req = new ActiveXObject('Microsoft.XMLHTTP');
            }
            catch (err3) {
        try {
            req = new XMLHttpRequest();
        }
        catch (err1) {
            req = false;
        }
            }
        }
    return req;
}

//Benytter createXHR, henter kode fra filen 'a' og gemmer i et div-element
function Ajax(a,b) {
    var req = createXHR();

    req.onReadyStateChange = function() {
        if (req.readyState == 4 && req.status == 200) {
            document.getElementById(b).innerHTML = document.getElementById(a).innerHTML + req.responseText;
        }
    }

    req.open("GET", a, true);
    req.send(null);
}
</script>
----------------------------------------------
Så kan du lave et element: <div id="indhold"></div>
og kalde functionen "Ajax('genererindhold.asp','indhold');". Så vil kildekoden fra genererindhold.asp lægges i div-elementet "indhold". :)

Forklaret her: http://www.xul.fr/en-xml-ajax.html
Avatar billede w13 Novice
20. maj 2007 - 22:29 #6
document.getElementById(b).innerHTML = document.getElementById(a).innerHTML + req.responseText;
skal være:
            document.getElementById(b).innerHTML = document.getElementById(b).innerHTML + req.responseText;
Avatar billede Slettet bruger
21. maj 2007 - 04:40 #7
uha, det kan da roligt være man skulle give sig i kast med det noget før :)
jeg takker da mange mange mange mange gange for koden :)
Avatar billede keysersoze Ekspert
23. maj 2007 - 19:00 #8
ajax delen er nok lidt meget at gå i gang med og så er sessions er nok det bedste forslag :)
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
Kurser inden for grundlæggende programmering

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