Aiutiamo Edoardo
Sei in:  HomePage Blog | Articolo


ago
16
2007

Form Submit in Ajax - Script per principianti

Di SimoneRodriguez alle 12:38, in Scripts,  5834 click

ajax-logoSolitamente evito turorial e articoli troppo tecnici visto che "saper spiegare" è una cosa più difficile di quanto sembri. Questo volta però ho realizzato uno scriptino che permetterà a chiunque (o quasi) di implementare l'invio di un form in Ajax senza bisogno di particolari abilità.

Premesse
Per chi non lo sapesse, Ajax è una tecnica di sviluppo web che tramite l'oggetto XMLHttpRequest permette l'invio e ricezione di dati senza bisogno di ricaricare la pagina con evidenti benifici in termini di velocità e usabilità del sito.

L'implementazione è più facile di quanto sembri anche per form già esistenti; è inoltre possile gestire anche l'eventualità che il browser abbia i javascript disabilitati redirigendolo in un'apposita pagina.

A differenza di molti script che si trovano in rete,ho cercato di parametrizzare i campi fondamentali così da poter specificare il messaggio di 'Loading' e l'ID del DIV in cui visualizzare la risposta del Form.

1. Lo Script
Innanzi tutto avrete bisogno di questo script che dovrete uploadare nel vostro sito e linkare nella sezione head della pagina del form in questo modo:

<script src="js/ajaxsbmt.js" type="text/javascript"></script>

Non dimenticate di modificare il percorso del JS con quello della cartella in cui l'avete uploadato.

2. Il Form
L'unica cosa da aggiungere rispetto ad un form classico, è il richiamo alla funzione xmlhttpPost associata all'evento onsubmit.
Il richiamo alla funzione xmlhttpPost va personalizzata secondo le vostre esigenze:

  1. Il primo paramentro ('response_ajax.asp') si riferisce alla pagina che riceverà i dati del form e risponderà
  2. Il secondo parametro ('MyForm') si riferisce al nome del form da cui prelevare i dati
  3. Il terzo parametro ('MyResult') si riferisce all'ID del DIV che conterrà la risposta del form ed il messaggio di attesa.
  4. Il quarto paramentro ('Wait...') si riferisce al messaggio di attesa che apparità durante l'invio dei dati. Potete anche inserire del codice HTML magari per far apparire un'immagine di caricamento.
<form name="MyForm" action="response_normal.asp" method="post" onsubmit="xmlhttpPost('response_ajax.asp', 'MyForm', 'MyResult', 'Wait...'); return false;">
<input type="text" name="sample_text" value="Test" />
<input type="submit" name="send_button" value="Send" />
</form>

La cosa interessante è che nel caso in cui il browser avesse il javascript disabilitati, i dati verranno inviati comunque alla pagina specificata nella proprietà action rendendo questo script di fatto accessibile.

4. Conclusioni
Visto quanto è facile realizzare un form "moderno"? Ho cercato di semplificare la questione il più possibile ma se avete dubbi, domande o problemi, lasciate un commento.
Lo script è stato testato con Firefox 2 e Internet Explorer 6 ma se avete la possibilità di testarlo con altri browser vi prego di comunicarmelo.

QUI trovate lo script JS
QUI trovate una DEMO

NON DIMENTICATE DI VOTARMI SU DIGG ->

5. Immagini per il 'Loading'
La fase di invio/attesa dati può essere personalizzata con una bella gif, eccovene alcune.
Ricordate che passando del codice HTML tramite la funzione xmlhttpPost i doppi apici (") devono essere sostituti con lo slash e l'apice (\').

Aggiungo in fine questo fantastico sito AjaxLoad che permette in perfetto stile web 2.0 di crearsi la propria immagine di caricamento.

Tag:  Technorati Technorati Technorati 

TrackBack TrackBack  http://www.simonerodriguez.com/tb.asp?id=95

Potrebbero interessarti anche questi articoli:

 JQuery - Una libreria JavaScript che adoro! (100%)
 in Scripts il 18/09/2007 (4 commenti)
 Crop and Resize con asp.net (33%)
 in Scripts il 12/09/2007 (8 commenti)

# 1

ciao, volevo chiederti se questo script si poteva usare con lightbox.
Io apro tramite lightbox una pagina formOrder.php (dalla index.php) dove ho un form da compilare. Vorrei inviare i dati tramite ajax alla mia index. Io ho scritto così:

Perchè non funziona?
Di  monica  (inviato il 03/09/2007 @ 10:36)

# 2

In linea di massima dovremme funzionare anche con lightbox ma non l'ho mai provato.
I problemi potrebbero essere molti, ma se mi passi il link gli dò un'occhiata.
Di  SimoneRodriguez  (inviato il 03/09/2007 @ 11:30)

# 3

purtroppo ora non ho lo spazio dove mettertelo. Se vuoi ti poso mandare i file via mail perchè io ora li vedo solo in locale nel mio server di prova.
Di  monica  (inviato il 03/09/2007 @ 12:09)

# 4

Dai manda... vediamo un pò
Di  SimoneRodriguez  (inviato il 03/09/2007 @ 12:13)

# 5

Davvero fatto bene come script.
Volevo chiederti su quale sito o su quale libro ()esperienza a parte posso farmi una discreta cultura su Ajax, Javascript e compagnia bella.
Grazie
Di  Luigi  (inviato il 06/09/2007 @ 17:39)

# 6

Grazie! Ma non sono un esperto, ho solo discrete competenze di programmazione che mi permette di "creare" ciò che mi serve attingendo da internet. E quando ci riesco lo metto a disposizione...

In poche parole non saprei cosa consigliarti : - ?
Di  SimoneRodriguez  (inviato il 06/09/2007 @ 18:00)

# 7

Idem per me.
Competenze di programmazione e ricerca su internet per dritte utili a risolvere i miei problemi... : - )
Grazie comunque per la risposta al commento.
Di  Luigi  (inviato il 10/09/2007 @ 11:22)

# 8

Domandina: response_normal.asp è il file che inserisce eventuali dati nel db mentre response_ajax.asp si occupa soltanto di non ricaricare la pagina, ma fare apparire la voce di responso. O viceversa?
Se invece dei dati inseriti volessi far comparire un'altra scritta?
Ottima base per imparare, complimenti.
Di  Gionni  (inviato il 13/09/2007 @ 10:36)

# 9

"response_normal.asp" è la pagina che riceverebbe i dati nel caso in cui il javascript fosse disabilitato, viceversa i dati saranno inviati tramite xmlhttpPost alla pagina "response_ajax.asp".
Nel primo caso (...normal.asp) dovrai creare una pagina completa, nel secondo (...ajax.asp) sarà sufficiente processare i dati e magari rispondere.

Chiaramente, l'esempio visualizza i dati ricevuti, solo per far vedere che funziona; tu però puoi: ricevere i dati, inserirli ne DB, e con un "response.write" (nel caso dell'asp) dare conferma dell'avvenuto inserimento, tutto tramite response_ajax.asp

Ma questo è solo un altro esempio. Con i dati del form ci fai quello che ti serve e rispondi con quello che vuoi...
Di  SimoneRodriguez  (inviato il 13/09/2007 @ 11:00)

# 10

Ed è qua che mi impapero. Con (..normal.asp) sappiamo come funziona, in (..ajax.asp), che per me è una novità, metto solo la parte di codice per processare i dati e l'eventuale risposta? E dopo il tutto come torna alla pagina iniziale? Attraverso lo script js?
Di  Gionni  (inviato il 13/09/2007 @ 11:39)

# 11

Gionni è esattamente così, ricordati solo di creare (nella pagina che invia) e specificare (quando richiami la funzione xmlhttpPost) il DIV che ne conterrà la risposta.

Un gioco da ragazzi!
Di  SimoneRodriguez  (inviato il 13/09/2007 @ 11:49)

# 12

Il Div di risposta se ho capito bene è 'MyResult', ma come mi devo regolare su (...ajax.asp) per farlo apparire sulla pagine del form? Idem per le icone di attesa.
So' altamente ignorante in materia... (e curioso come pochi)
Di  Gionni  (inviato il 13/09/2007 @ 12:01)

# 13

Si esatto, devi creare un DIV con ID MyResult... ma puoi anche cambiarlo purché ti ricordi poi di cambiarlo anche quando richiami la funzione xmlhttpPost.
Il messaggio o icona di attesa lo imposti nell'ultimo parametro (wait...).
Sia il messaggio di attesa che tutto cio che scriverò response_ajax.asp, apparirà nel DIV con ID MyResult.
Di  SimoneRodriguez  (inviato il 13/09/2007 @ 12:05)

# 14

Non mi è chiaro come con il response.write, passo il 'MyResult' nel Div. Mi è oscuro il passaggio nel response... X - |
Tutto ok con il 'Wait..' ho visto nell'esempio che basta linkare l'immagine nella chiamata ajax del form.
Di  Gionni  (inviato il 13/09/2007 @ 12:18)

# 15

Non mi è chiaro come con il response.write, passo il 'MyResult' nel Div. Mi è oscuro il passaggio nel response... X - |
Tutto ok con il 'Wait..' ho visto nell'esempio che basta linkare l'immagine nella chiamata ajax del form.
Di  Gionni  (inviato il 13/09/2007 @ 12:19)

# 16

Gionni più chiara di così non te la sò fare:
Se, per esempio, nel response_ajax.asp ci scrivi solo response.write "Ho ricevuto i dati", inviando i dati dal form nel DIV MyResult apparirà la scritta "Ho ricevuto i dati".
Di  SimoneRodriguez  (inviato il 13/09/2007 @ 12:31)

# 17

Ah, pensavo ci fosse qualche riga di codice da aggiungere per specificare nel dettaglio... messa così... ci rimango male... 8 - ) mi sento stupido forte 8 - ) (sono come san tommaso, se non vedo il codice... nn credo, o meglio, non capisco)
Di  Gionni  (inviato il 13/09/2007 @ 12:57)

# 18

Il bello è che è proprio facile!
Passa all'atto pratico e te ne renderai conto!

P.S. Dopo tutto sto popò di assistenza ti tocca offrirmi una birra o almeno un linketto nel blog! : - P
Di  SimoneRodriguez  (inviato il 13/09/2007 @ 13:29)

# 19

Rispondo solo al P.s. Erano già previste in origine entrambe le cose ; - )
Di  Gionni  (inviato il 13/09/2007 @ 13:35)

# 20

Io l'ho implementato facilmente già al primo utilizzo, ma avrei lo stesso una domandina: ho provato a farlo funzionare in un form in cui la pagina che processa i dati risiede in un altro dominio (cioè inserendo http://www.altrodomnio.it/risposta.php tra i parametri di xmlhttpPost) e, contrariamente al caso di pagina di risposta sullo stesso dominio, non funziona: mi carica la pagina di risposta invece di aggiornare il div.
Sicuramente c'è una soluzione, ma volevo chiederti se riuscivi a darmi qualche dritta... : - ).
Se riesco, la birra te la offro io 8 - )
Di  Luigi  (inviato il 13/09/2007 @ 14:01)

# 21

@Gionni: Sei un gran signore!

@Luigi: I motivi possono essere molti, anche di incompatibilità con altri script presenti. Difatti non appena il javascript va in errore va in modalità "degradata" ed invia il form in modo normale.

Più probabilmente, se ricordo bene, per motivi di sicurezza l'oggetto xmlHttpReq non permette interazione con domini diversi

In questi casi uso FireBug per fare un debug e spulciare un pò tutto.

Così alla cieca non saprei dirti di più!
Di  SimoneRodriguez  (inviato il 13/09/2007 @ 14:41)

# 22

Ero al corrente degli stessi problemi...anche usando firebug ho notato che non c'era una soluzione immediata.
Mi consola che sei arrivato alle mie stesse conlusioni ; - )
Grazie comunque ancora per la risposta.
Se mai avrò un blog, un link è tuo!
Di  Luigi  (inviato il 13/09/2007 @ 15:57)

# 23

Ritorno sull'argomento... nei miei esperimenti è sorta una curiosità. Mi spiego, se dopo l'invio, voglio che il form torni bello pulito (o per strafare, anche farlo sparire e al suo posto apparire la conferma dell'inserimento), che devo modificare?
Di  Gionni  (inviato il 22/09/2007 @ 22:15)

# 24

Potresti (come faccio io per il blog) pensare di gestire due diversi DIV: uno per la risposta ed uno per il form... ma credimi, si complica molto la cosa.
E' più facile includere anche il form nel DIV facendolo riapparire se necessario (in caso di errore) oppure scomparire in caso di invio corretto. A parole è facile, nei fatti dovrai lavorarci un pò...
Di  SimoneRodriguez  (inviato il 22/09/2007 @ 22:26)

# 25

E' quello che ho fatto io, con tanto di ricompletamento dei soli dati corretti.
E' stato un lavoraccio X - | (per me che programo da poco), ma alla fine funziona : - D.
Io comunque non ho modificato NULLA dello script AJAX di Simone.
Ho lavorato solo sulla pagina di risposta al form, nel mio caso in PHP.
Di  Luigi  (inviato il 16/10/2007 @ 12:49)

# 26

Ottimo Luigi!
Mi fa piacere vedere che, anche con un minimo di conoscienze programmazione, si riesce ad adattare lo script alle diverse esigenze/linguaggi.
Di  SimoneRodriguez  (inviato il 16/10/2007 @ 12:57)

# 27

Ciao Simone, complimenti per lo script: molto utile!
Solo un dubbio: nel caso nel form avessi 2 pulsanti SUBMIT, ad esempio




Vedo che anche cliccando su Conferma assume il valore di Cancella (o piu' in generale l'ultimo valore "assumibile").

Ti risulta?!?
Grazie mille!
Ste
Di  Stefano  (inviato il 20/11/2007 @ 12:09)

# 28

Io lo uso con entrambi i pulsanti, il classico "invia" e "cancella" e funziona bene.
Il pulsante "cancella", però non è un submit, ma un tag input con type="reset", mentre "invia" è il classico input con type="submit".
Tu usi un submit per cancellare i campi del form?
Di  Luigi  (inviato il 20/11/2007 @ 12:25)

# 29

Hai ragione Luigi, "non sono stato spiegato" : - )

Ho un form con 4 pulsanti tutti submit:
type="submit" name="action" value="CONFERMA" - mi consente di modificare i dati di un record
type="submit" name="action" value="AGGIUNGI" - mi consente di aggiungere un record ex-novo nel db
type="submit" name="action" value="CANCELLA" - mi consente di eliminare il record
name="reset" value="RESET" - mi resetta i valori del form

Cliccando su AGGIUNGI, il pulsante "action" assume comunque valore "CANCELLA"

Di  Stefano  (inviato il 20/11/2007 @ 13:42)

# 30

Capito.
Non sono così sgamato da dirti cosa non va nell'oggetto httprequest scritto da Simone (se davvero c'è qualcosa che non va...) o cosa dovresti fare per farlo funzionare come vuoi te.
Probabilmente c'è da lavorarci sopra.

Magari per capire meglio: quando dici "il pulsante "action" assume comunque valore "CANCELLA"" intendi che l'input submit assume sempre il valore cancella, giusto?
Di  Luigi  (inviato il 20/11/2007 @ 14:24)

# 31

Esatto! Assume sempre l'ultimo valore.

Ovvero se avessi...
type="submit" name="action" value="CONFERMA" - mi consente di modificare i dati di un record
type="submit" name="action" value="AGGIUNGI" - mi consente di aggiungere un record ex-novo nel db
type="submit" name="action" value="CANCELLA" - mi consente di eliminare il record

il valore di action e' "CANCELLA" indipendentemente da quale "submit" schiaccio

se avessi

type="submit" name="action" value="CANCELLA" - mi consente di eliminare il record
type="submit" name="action" value="CONFERMA" - mi consente di modificare i dati di un record
type="submit" name="action" value="AGGIUNGI" - mi consente di aggiungere un record ex-novo nel db

il valore di action e' "AGGIUNGI" (sempre indipendentemente da quale "submit" schiaccio).

Ancora grazie mille!
Ste
Di  Stefano  (inviato il 20/11/2007 @ 14:36)

# 32

Ho provato e ho risolto così e funge:
- prepara una pagina di risposta diversa, per esempio "conferma.php", "aggiungi.php" e "cancella.php"
- nell'action del form, come valore passato all xmlhttpPost mettici una variabile a caso, chiamandola come vuoi, per sempio: target
- nei 3 bottoni di submit modifichi l'attributo 'onclick' in questo modo: per CONFERMA metti onclick="target='conferma.php'", per AGGIUNGI metti onclick="target='aggiungi.php'" e idem per CANCELLA.

A quel punto la appena clicchi ti spara dentro la variabile target la pagina obiettivo per ogni diverso submit e ti produce il risultato desiderato.

Un po' maccheronica come soluzione, lo ammetto, in quanto ti costringe ad avere uno script diverso per ogni submit, ma finchè non ti viene in mente qualcosa di meglio...

Col trucchetto dell'onclick sul submit potresti anche cambiare un valore del form che poi verrebbe passato in POST, ma queste prove le lascio a te...sono
Di  Luigi  (inviato il 20/11/2007 @ 14:50)

# 33

Luigi! Geniale!

piu' semplicemente
<form name='MyForm' method='POST' action='index.php' onsubmit="xmlhttpPost('index.php','MyForm','MyResult','Attendere prego...'); return false;">

Tanti campi, tanti valori, tanti blah... blah... blah...

Quindi...
input type='hidden' name='action' value=''

input type='submit' name='submit' value='Modifica' onclick="MyForm.action.value='Modifica'"
input type='submit' name='submit' value='Elimina' onclick="MyForm.action.value='Elimina'"
input type='submit' name='submit' value='Inserisci' onclick="MyForm.action.value='Inserisci'"
input type='reset' name='reset' value='reset'

quindi poi nella stessa pagina non controllo la variabile '$_POST[submit]' (mi perdonerai ma io uso php) ma la variabile '$_POST[action]'

Grazie per lo spunto! buon pomeriggio!
Ste
Di  Stefano  (inviato il 20/11/2007 @ 15:08)

# 34

La tua è un'altra ottima soluzione.
Lieto di esserti stato di aiuto 8 - )

P.S. Ti perdono...anche io uso php : - D
Di  Luigi  (inviato il 20/11/2007 @ 15:21)

# 35

Piccolo consiglio: il valore di "action" viene usato di default per l'URL di destinazione del submit del form. Con javascript disattivato, un utente non potrebbe usare il tuo form.

Se la cosa non ti preoccupa rimani pure così, altrimenti il mio consiglio è di cambiare il value di un altro campo hidden del form, per esempio 'azione' , quindi di controllare poi il valore di $_POST['azione'].
Nell'action potresti risposta di default (che magari, se no ntrova settata la come si deve la $_POST['azione'] dice che per funzionare, il form ha bisogno di javascript attivato : - P ).

E' solo un suggerimento di usabilità, non di funzionamento, in quanto la tua soluzione così com'è è tranquillamente operativa.
Di  Luigi  (inviato il 20/11/2007 @ 15:29)

# 36

Precisazione giustissima!
Grazie ancora!
Ste
Di  Stefano  (inviato il 20/11/2007 @ 15:44)

# 37

Prego
Mamma mia, come mi è sguillata la tastiera nell'ultimo commento X - |
Di  Luigi  (inviato il 20/11/2007 @ 16:19)

# 38

Sono in francia per qualche giorno, ma è stupendo vedere che vi aiutate da soli!
Ciao ragazzi!!! : - D
Di  SimoneRodriguez  (inviato il 21/11/2007 @ 00:04)

# 39

Ancora io!
Magari e' solo un mio problema su cui sto perdendo tempo inutilmente ma ho l'impressione che non funziona con un campo type='file' name='immagine'

Quando tento di caricare un'immagine (ovviamente ho gia' verificato tutte le autorizzazioni sul server, grandezza max del file e tutti i blah blah blah...) non sembra funzionare.

Mi aspettavo che php (sempre lui) mi valorizzasse la $_FILES invece nulla...
Il tutto di contro funziona egregiamente senza 'ajaxsbmt.js' ma visto che c'e'... perche' dovrei farne a meno?!?

Buona notte!
Stefano
Di  Stefano  (inviato il 22/11/2007 @ 00:16)

# 40

Qui non so come aiutarti.
Nella mia breve esperienza di programmazione non ho mai avuto a che fare con il campo input="file", per cui non so come si comporta normalmente con i valori postati in ambito php.
Tuttavia sono curioso: mi racconti come si comporta con e senza ajaxsbmt ?
...chissà che mi venga in mente un altro suggerimento sgudiblo da darti ; - )
Di  Luigi  (inviato il 22/11/2007 @ 09:48)

# 41

Guarda, gli element file dovrebbero essere processati correttamente, però come ti consigliava Luigi ti conviene provare senza ajaxsbmt per vedere come si comporta.
Di  SimoneRodriguez  (inviato il 22/11/2007 @ 13:27)

# 42

In realta' la prova senza ajax e' la prima che ho fatto e ovviamente funziona!
Questa mattina mi son documentato meglio e sembra che quello dell'upload di file è un problema implicito di ajax in quanto è l'oggetto httprequest che non ne permette l'invio.
se le cose stanno così l'unica soluzione rimane quella di nascondere la casellina type='file' all'interno di in iframe che e' a sua volta contenuto nel frame principale: quando lancio l'upload in realta' lo lancio solo x la pagina nell'iframe. Un po' contorto ma credo possa funzionare. Quando ho completato il codice lo posto qui affinche' ne facciate un buon uso.

Buon pomeriggio!
Stefano
Di  Stefano  (inviato il 22/11/2007 @ 14:03)

# 43

Tempo fa mi è passato sotto gli occhi un uploader di file in ajax (non ricordo dove).
Il comportamento, ovviamente, era perfettamente asincrono come il nostro amato form.
Puoi provare a cercarlo e implementarlo nel tuo form, oppure puoi darne una guardatina al codice per trovare la soluzione al problema.
Di  Luigi  (inviato il 22/11/2007 @ 14:57)

# 44

...ma ora che ricordo, era una soluzione che adottava un iframe. : - ?
Mi sa che sei sulla strada giusta.
Di  Luigi  (inviato il 22/11/2007 @ 15:02)

# 45

Nel js, al posto di usare il formname, perchè non usi il formid?
L'unica cosa che cambia (oltre ovviamente al nome del parametro formname), è la dichiarazione della variabile form all'interno della funzione getquerystring:


function getquerystring(formid) {
var form = document.getElementById(formid);

Il vantaggio che ne trarresti sarebbe quello di avere un form validato per la DTD strict, visto che l'attributo name non è permesso per il tag form in quella DTD!

Ciao
Di  Melo  (inviato il 10/01/2008 @ 09:21)

# 46

Ottimo consiglio! Mi pare di ricordare che avessi avuto alcune problematiche, cmq provo e provvedo.

Grazie
Di  SimoneRodriguez  (inviato il 10/01/2008 @ 09:24)

# 47

Salve!
Ho implemento il vostro script nel mio sistema... e mi sono accorto che non riconosce i caratteri accentati nelle risposte di errore! E' possibile risolvere questo problema!?!
Di  RmX77  (inviato il 21/02/2008 @ 18:41)

# 48

Esattamente che intendi per "risposte di errore"?
Di  SimoneRodriguez  (inviato il 21/02/2008 @ 18:43)

# 49

Ok! Risolto!
Di  RmX77  (inviato il 21/02/2008 @ 18:54)

# 50

Praticamente... io uso una piattaforma ASP.... e gl errori sui campi vengono controllato da un pagina ASP che scrive le risposte nel div di controllo del tuo script facendo un semplice response.write! I caratteri accentati venivano fuori con dei caratteri nn riconoscibili... allora ho forzato il setcode dei caratteri e ora va tutto bene!
Di  RmX77  (inviato il 21/02/2008 @ 18:57)

# 51

Si anche io faccio la stessa cosa ; - )
Di  SimoneRodriguez  (inviato il 21/02/2008 @ 19:00)

# 52

Ma la pagina contenente il form viene ricaricata nel punto dove c'è il form o all'inizio? per capirci es questa pagina è molto lunga, se io invio il commento mi viene ricaricata la pagina qui dove c'è il form o in cima?
Di  Anonimo  (inviato il 29/02/2008 @ 20:31)

# 53

Il bello è che proprio non viene ricaricato nulla. Semmai si riceve la riposta dalla pagina e viene visualizzata nel DIV con l'ID specificato nella chiamata del Form (Es. MyResult)

In questa pagina, ho utilizzato una versione evoluta:
1. Invio i dati
2. Ricevo la risposta dal form (Es. Dati inviati correttamente)e la visualizzo quì sotto.
3. Se tutto va bene faccio una chiamata (ricarico tutti i commenti) ad un'altra pagina e la visualizzo in un altro DIV ancora.
Di  SimoneRodriguez  (inviato il 29/02/2008 @ 23:11)

# 54

ciao, e complimenti,
ma ho una curiosità.Come mai nonostante processi in post lo script visualizza una querystring nella barra del browser?
In questo caso mi passa in chiaro user e password.
Volevo integrare ajax in uno script che uso di login.
Attualmente io verifico le credenziali e poi eseguo un response redirect
Con questo script ajax se ho notato che non mi esegue il redirect ma mi processa la pagina nella stessa.
E' giusto?
Si puo fare un redirect ?
Grazie
Ciao
Di  Alex  (inviato il 31/03/2008 @ 13:42)

# 55

Lo script, se non modifcato, esegue un post e non dovrebbe vedersi alcun paramentro di querystring.
Per quanto riguarda il redirect non ci dovrebbero essere problemi ma non l'ho mai provato.
Di  SimoneRodriguez  (inviato il 31/03/2008 @ 18:06)

# 56

Il redirect puoi farlo solo nella pagina che richiama lo script, e non nella pagina che elabora i dati.
Per un redirect della pagina che ospita il form dovresti modificare qualcosina nello script di Simone.
Di  Luigi  (inviato il 08/07/2008 @ 14:26)

# 57

Ciao, ho usato il tuo script ajax in diverse occasioni e sempre con successo. Adesso il mio problema è che non riesco ad utilizzarlo all'interno di joomla.
Ho importato correttamente lo script nell'header della pagina ed ho scritto il sorgente dell'articolo (contenuto di joomla) includendo gli attributi necessari nel tag
. Tuttavia è come se lo script venisse ignorato... e la richiesta parte stampando la risposta (le righe di un db) in una nuova pagina invece che nel div di output da me impostato.
Qualcuno ha suggerimenti in merito?
grazie in anticipo
Di  Alessio  (inviato il 20/07/2008 @ 14:56)

Lascia un tuo commento

Nome
Link (Visibile sul Blog)

Email (Nascosta, visibile solo da me)

Salva i miei dati per futuri commenti
Ricevi in email la notifica di nuovi commenti

Anti-Spam: digita i numeriCAPTCHA Carica un nuovo codice

Testo (max 1000 caratteri)
Smile arrabbiato Smile assonnato Smile bacio Smile diavolo Smile indeciso Smile linguaccia Smile morto Smile muto Smile occhiali Smile occhiolino Smile risatona Smile shockato Smile sorriso Smile timido Smile triste Smile vago

Anteprima del commento



Disclaimer
L'indirizzo IP del mittente viene registrato, in ogni caso si raccomanda la buona educazione.
Simone Rodriguez Blob

Top 5 utenti del mese

1. AstAsi
Vi consiglio le
statistiche di PMetrics

Performancing Metrics Blog Statistics