Hvordan laste opp et skjema med Ajax Tilbakemelding

Hvordan laste opp et skjema med Ajax Tilbakemelding


AJAX er en av de mest populære web-applikasjoner i dag på grunn av sin evne til å forvandle webapplikasjoner til mer som desktop-applikasjoner. AJAX har funksjonalitet som andre teknologier ikke kan utføre, for eksempel komplett integrasjon med ulike programmeringsspråk. Det har også andre web-applikasjon og interaktiv oppdatering av web-innhold uten å måtte laste hele nettsiden. Det er i stand til å lage elektroniske skjemaer interaktiv og mer funksjonell.

Bruksanvisning

1 Bruk følgende kode for å lage et skjema med en ny sender atferd. Dette skjemaet vil kalle en Javascript i stedet for det sender dataene til en annen side.

<Script language = "javascript" type = "text / javascript">

// Denne funksjonen vil bli kalt når skjemaet er submited

fungere SAVEDATA () {

// ...

return false; // Forhindre form blir submited

}

funksjonen init () {

document.getElementById ( "feedback_form") onsubmit = SAVEDATA.; // Den SAVEDATA-funksjonen er festet til sende handling av skjemaet.

}

window.onload = init; // The 'init' funksjon vil bli kalt når siden er lastet.

</ Script>

2 Sett inn følgende kode for å lage noen AJAX bibliotekfunksjoner og navngi filen "ajax_lib.js" eller med noe du ønsker:

Var jx_http = jx_getHTTPObject (); // Vi skaper HTTP Object

// Opprett en XMLHttpRequest objekt - dette er konstruktøren.

fungere jx_getHTTPObject () {

Var XMLHTTP;

// Bruker IE ActiveX-elementer for å laste ned filen.

if (typeof ActiveXObject! = "udefinert") {

try {

XMLHTTP = new ActiveXObject ( "Msxml2.XMLHTTP");

} Catch (e) {

try {

xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

} Catch (e) {

xmlhttp = false;

}

}

// Hvis ActiveX ikke er tilgjengelig, kan du bruke XMLHttpRequest av Firefox / Mozilla etc. å laste dokumentet.

} Else if (XMLHttpRequest) {

try {

XMLHTTP = new XMLHttpRequest ();

} Catch (e) {

XMLHTTP = false;

}

} Else {

XMLHTTP = false;

}

tilbake XMLHTTP;

}

// Denne funksjonen kalles fra brukerens skriptet. Det vil ta en URL og en valgfri funksjon for tilbakeringing.

// Så det vil lese URL-, forventer en json streng. Når filen er lastet, skriptet

// Vil pharse JSON strengen bruke "eval 'og kaller den brukerdefinerte tilbakeringingsfunksjonen med dette

// Matrise som argument.

// Argumenter -

// URL - Nettadressen til serverside script som skal kalles. Tilføy alle argumentene til

// Dette webadresser som GET params - som get_data.php id = 5 & bil = benz

// Tilbakeringing - Navn på funksjon som skal kalles når dataene er klar. Hvis en tilbakeringing

// Funksjonen ikke er gitt, så standard funksjons 'jx_processResults' vil bli brukt.

funksjons jx_getData (URL, tilbakeringing) {

hvis retur (jx_http!);

jx_http.open ( "GET", URL, true);

// Ring en Anonymos funksjon når staten endringer.

jx_http.onreadystatechange = function () {

if (jx_http.readyState == 4) {// Ready Staten vil være fire når dokumentet er lastet.

Var resultat;

if (jx_http.responseText) resultat = eval (jx_http.responseText); // Ja, jeg vet jeg brukte eval - sin JSON, dum.

annet resultat = "";

if (tilbakeringing) {

callback(result); //Give the data to the user defined function.

} Else {// Hvis det ikke er brukerdefinert funksjon ...

//Call a predifined function with the result.

if (jx_processResults) jx_processResults (resultat);

}

}

}

jx_http.send (null);

}

3 Gå tilbake til overskriftsdelen og sett inn følgende kode for å etablere hoved AJAX funksjon:

<Script language = "javascript" type = "text / javascript" type = "text / javascript">

// Denne funksjonen vil bli kalt når skjemaet er submited

fungere SAVEDATA () {

// ...

return false; // Forhindre form blir submited

}

funksjonen init () {

if (jx_http) {// Hvis nettleseren støtter Ajax funksjoner

document.getElementById ( "feedback_form") onsubmit = SAVEDATA.; // Den SAVEDATA-funksjonen er festet til sende handling av skjemaet.

}

}

window.onload = init; // The 'init' funksjon vil bli kalt når siden er lastet.

</ Script>

4 Bruk følgende kode for å sette "save_data.php" filen for å passere de resultatene som skal settes inn i databasen:

// Denne funksjonen vil bli kalt når skjemaet er sendt

fungere SAVEDATA () {

Var kommentar = document.getElementById ( "kommentar") verdi.;

. Var email = document.getElementById ( "e") verdi;

// Ved å ringe denne filen, har vi spart dataene.

jx_getData ( "? save_data.php comment =" + kommentar + "& email =" + e + "og gå tilbake = ingen");

// Viser takk melding.

. Document.getElementById ( "form_elements") innerhtml = "<h1> Mottatt Feedback </ h1> Takk for din interesse - vi vil se nærmere på kommentaren din så snart som mulig.";

return false; // Forhindre skjemaet blir sendt

}

5 Sett inn følgende kode for å aktivere din form, koble den til databasen din og få tilbakemeldinger fra AJAX:

<? Php

inkluderer ( './ connect.php'); // Koble til databasen.

// Sette inn data i vår database

mysql_query ( "INSERT INTO feedback (feedback_email, feedback_comment, feedback_time)

VERDIER ( '$ _ REQUEST [email]', '$ _ REQUEST [kommentar], NOW ()) ") or die (" Kan ikke lagre. "Mysql_error ());

if ($ _ REQUEST [ 'return'] == "none") exit; // Avslutt uten å skrive takkeside notat.

?>

<Html>

<Head>

<Title> Mottatt Feedback </ title>

</ Head>

<Body>

<H1> Mottatt Feedback </ h1>

Takk for din interesse - vi vil se nærmere på kommentaren din så snart som mulig.

</ Body>

</ Html>

Hint

  • sette alltid script språk informasjonen på hodet delen av siden din for å være i samsvar med de fleste websider publisert på nettet. Bruk tutorials på nettet for å få litt grunnleggende forståelse av AJAX.