Domanda

Ho una forma. Questo modulo si presenta tramite posta in un IFRAME, che, a sua volta, ha la richiesta elaborata e, a seconda del risultato, viene eseguito un JavaScript che modifica il contenuto del genitore in base alla validità dell'invio.

Ora, non mi piace questa procedura. Voglio la possibilità di inviare diversi moduli contemporaneamente, ma ho solo questo iforame nascosto. Quindi vorrei farlo con l'Ajax, creando una richiesta separata per ogni presentazione del modulo.

Tuttavia, la mia forma è complicata; È costituito da caselle di controllo che aggiungono variabili agli array, da immagini che vengono cliccate e le cui coordinate di clic ho bisogno e cose complicate come quella - motivo per cui io, invece di calcolare ogni valore di ciascun input e aggiungerlo a un parametro post String (a proposito: non so come posso creare array in quel modo), preferirei di gran lunga avere il contenuto di invio intercettato, salvato come una stringa post con tutti quei parametri e quindi utilizzare questa stringa per AJAX Richiesta post.

Che vorrei fare in questa funzione:

$('#myForm').submit(function(event){

    // process the submission, e. g. event.getContent().toPostString();

    // create the AJAX request and send it and attach listeners (I know how to do this line ;)

    return false; // I don't want the form submitted (to the iframe)

});

Grazie in anticipo!

È stato utile?

Soluzione

Non usare un iforame, basta usare Metodi Ajax di JQuery: (Ero solito post() Nell'esempio seguente)

$('#myForm').submit(function(event){

             //url          //post data
    $.post(this.action, $(this).serialize(), function(returnData){
           //do something with returnData
    })

    return false; //do not submit form the normal way

});

Ecco un esempio: http://jsfiddle.net/maniator/y6r8e/
Digita qualcosa nel modulo e invialo.

Altri suggerimenti

jQuery's serializza () La funzione raccoglierà i dati del modulo per te, per consentire una facile presentazione del modulo tramite .ajax () o .post ().

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top