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.