Avatar billede leif Seniormester
28. maj 2009 - 15:11 Der er 2 kommentarer og
2 løsninger

Ajax - Ingen Enter

Hej alle,

Jeg har følgende som virker fint, næsten, hvis man trykker enter så submitter den men den indsætter ikke noget i databasen og den går også tilbage til min index

//Code start
<form name='myForm'>
Kommentar: <input type='text' id='kommentar' />
<br />
<input type='button' onclick='ajaxFunction()' value='Query MySQL' />
</form>

<script language="javascript" type="text/javascript">
<!--
//Browser Support Code
function ajaxFunction(){
    var ajaxRequest;  // The variable that makes Ajax possible!
   
    try{
        // Opera 8.0+, Firefox, Safari
        ajaxRequest = new XMLHttpRequest();
    } catch (e){
        // Internet Explorer Browsers
        try{
            ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try{
                ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e){
                // Something went wrong
                alert("Your browser broke!");
                return false;
            }
        }
    }
    // Create a function that will receive data sent from the server
    ajaxRequest.onreadystatechange = function(){
        if(ajaxRequest.readyState == 4){
            document.myForm.time.value = ajaxRequest.responseText;
        }
    }
    var kommentar = document.getElementById('kommentar').value;
    var queryString = "?kommentar=" + kommentar;
    ajaxRequest.open("GET", "gem.php" + queryString, true);
    ajaxRequest.send(null);
    document.getElementById("kommentar").value = "";
}


//-->
</script>
//Code end


Nogen der kan hjælpe mig så den enten ikke gør noget på enter eller i hvert tilfald indsætter det korrekt i databasen (Det kan jo gøres ved at sætter action på). Men jeg ville gerne undlade at skulle reloade siden bare fordi folk trykker enter.

På forhånd tak.

/Leif
Avatar billede majbom Novice
28. maj 2009 - 15:16 #1
prøv med:

<form name='myForm' onsubmit='ajaxFunction()'>
Kommentar: <input type='text' id='kommentar' />
<br />
<input type='submit' value='Query MySQL' />
</form>
Avatar billede leif Seniormester
28. maj 2009 - 15:16 #2
Jeg tillader mig med at komme med en løsning selv:


Ændre formen til:
<form name='myForm' onsubmit='ajaxFunction(); return false'>
Kommentar: <input type='text' id='kommentar' />
<br />
<input type='button' onclick='ajaxFunction()' value='Query MySQL' />
</form>
Avatar billede leif Seniormester
28. maj 2009 - 16:06 #3
Smid et svar
Avatar billede majbom Novice
28. maj 2009 - 20:05 #4
sådan kan man osse gøre det, forskellen er ens ;)
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