Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di homerbit
    Registrato dal
    Dec 2005
    residenza
    Roma
    Messaggi
    1,380

    [ajax+php] form + refresh pagina corrente

    Ciao a tutti, implementando uno script per l' "inserimento news" con l'ausilio di ajax+php mi sono impantanato in un banalissimo (spero) problema che riguarda la tipologia di messaggio.

    Mi spiego:
    -> l'utente è assistito nelle varie fasi di compilazione del form e riceve un messaggio di errore se qualcosa è andato storto potendo poi continuare a compilare.
    -> Riceve anche un messaggio se tutto è andato a buon fine.

    Bene, quando è andato a buon fine vorrei che l'utente potesse vedere il "resoconto" (titolo, data, ecc)
    Questo può avvenire solo se riesco ad implementare il refresh della pagina (questa contiene l'elenco dei titoli ed il form per l'inserimento di nuovi).
    La pagina in questione fa parte di un'area riservata (quindi ci sono le session...)

    la chiamata ajax è:
    codice:
    	//chiamata ajax
        $.ajax({
          type: "POST",
        url: 'valida.php',
        data: "titolo="+titolo+"&data="+data+"&note="+note,
    	  success: function(msg) {
    		$("div#resultform").dialog({
    				bgiframe: false,
    				modal: true,
        buttons: {
            'Ok': function(){
    					$(this).dialog("close");
    				},
        }
       
    }).html(msg);
    praticamente vorrei che quando tutto è andato a buon fine comparisse un messaggio del tipo "tutto OK.." e di conseguenza si ricarica la pagina, magari anche senza conferma (temporizzato?!)

    Grazie a tutti
    If you think your users are idiots, only idiots will use it. DropBox

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Prova cosi:
    'Ok': function(){
    self.location.reload()
    },
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it L'avatar di homerbit
    Registrato dal
    Dec 2005
    residenza
    Roma
    Messaggi
    1,380
    grazie per pronta la risposta!

    il reload funziona però,ovviamente,viene eseguito sempre, sia in caso di errore che in caso di successo.

    io vorrei poterlo fare solo se il form è stato completato correttamente, altrimenti, in questo modo, vengono cancellati i campi complitati precedentemente
    If you think your users are idiots, only idiots will use it. DropBox

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    prova cosi:
    Supponendo che il messaggio d'errore inizi cosi "Abbiamo riscontrato....."
    codice:
    success: function(msg) {
    		$("div#resultform").dialog({
    				bgiframe: false,
    				modal: true,
        buttons: {
            'Ok': function(){
    		if(msg.indexOf("Abbiamo riscontrato")!=-1){$(this).dialog("close");}
    else{self.location.reload()}
    				},
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it L'avatar di homerbit
    Registrato dal
    Dec 2005
    residenza
    Roma
    Messaggi
    1,380
    ..che dire...
    problema perfettamente risolto!
    grazie!!
    If you think your users are idiots, only idiots will use it. DropBox

  6. #6
    Utente di HTML.it L'avatar di homerbit
    Registrato dal
    Dec 2005
    residenza
    Roma
    Messaggi
    1,380
    riprendo questo post perchè vorrei rendere funzionale la mia chiamata ajax, in poche parole sostituire il refresh con un fadeIn

    Breve riepilogo:
    con ciclo while su una select visualizzo righe e colonne in una table;
    mediante un dialog su un div (aperto prima del while) visualizzo i vari eventuali messaggi d'errore prima dell'inserimento nel db di una nuova "riga", cioè:

    Codice PHP:

    <div id="myresult"></div>

    <?
    $result 
    mysql_query('SELECT * FROM mytable ',$this->conn);
       while(
    $row mysql_fetch_assoc($result)) {
        echo 
    '<tr class="record" id="record-'.$row['id'].'">';
        echo 
    '<td >'.($row['titolo']).'</td>';
    }
    //while
    ?>
    come devo fare per poter ottenere un effetto fadeIn dopo l'inserimento di un nuovo campo?
    Sono solo riuscito ad ottenere l'effetto opposto, cioè: delete+fadeOut...

    grazie a tutti
    If you think your users are idiots, only idiots will use it. DropBox

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.