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

    [ajax +json +php] con jquery dialog

    Ciao tutti, spero davvero possiate aiutarmi
    La questione è "semplice":
    1-compilo form
    2-chiamata ajax verso insert.php
    3- riprendo alcuni valori sempre con insert.php mediante json
    qui vengono i problemi, le variabili mi ritornano come gli altri messaggi, nella finestra di dialogo jquery e non esegue minimamente i fadeIn nella function (data) invece mi "azzera" (giustamente) i campi del form come richiesto nelle ultime due righe successive.

    Quindi non eseguo per niente $.getJson...

    codice:
    $(document).ready(function(){
    	$("form#input_form").submit(function(e) {
        e.preventDefault();
    	var message = $('#message').attr('value');
     	var name = $('#name').attr('value');
    	var string = 'message='+message+'&name='+name;
    $.ajax({
       type: "POST",
       url: "insert.php",
       data: string,
       success: function(msg) {
    		$("div#dialog-confirm").dialog({
    			bgiframe: false,
    			modal: true,
    		    	buttons: {  
    			'Ok': function(){	
    				$(this).dialog("close");	
    					   },//OK
    			}//buttons
    							
    		}).html(msg);//dialog-confirm
    				 
    	$.getJSON('insert.php', function(data) {
    												
      $('#showdata').prepend("item1"+data.item1+"item2="+data.item2+"item3="+data.item3+"");
    $("div#showdata").fadeIn(2000);
    document.getElementById("message").value="";
    document.getElementById("name").value="";
            });//getJSON
    	 }//function(msg)
     });//ajax
    return false;
    	});//submit
    });//(document).ready
    Mentre la insert.php
    Codice PHP:
                    $rows = array ('item1'=>$row['id'],
                                   
    'item2'=>$row['name'],
                                   
    'item3'=>$row['message']);
                    echo 
    json_encode($rows); 
    Non so se sbaglio sintassi. metodo, implementazione...bhò

    Ho aperto questo nuovo post perchè rende più chiara l'idea di insieme di quello che voglio fare (spero non me ne voglia il moderatore, in caso contrario chiedo scusa e magari di essere concatenato al precedente topic)

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

  2. #2
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026
    ci sono diverse cose che non vanno a livello di sintassi, di solito uso questo io :
    codice:
    $.ajax({
      type:'POST',
    dataType:'json',
    data:{data1:'hey',data2:'ciao'},
    url: 'index.php',
    error:function(e){console.log(e) /*scrive un eventuale eccezzione in console*/},
    beforeSend:function(){ /*fai un animazione , mostra il loading gif quello che vuoi*/},
    success:function(json){
    /*json lo hai già non devi fare un'altro $.getJSON*/
      alert(json.pippo);
    
    /*vai avanti*/
    }
    });

  3. #3
    Utente di HTML.it L'avatar di homerbit
    Registrato dal
    Dec 2005
    residenza
    Roma
    Messaggi
    1,380
    grazie per la risposta!! speriamo di uscirne, sono proprio alle rime armi
    vediamo se ho capito..utilizzo un form con un unico campo (nome), tanto per fare un esempio concreto e rapido:
    codice:
    <form  id="input_form">	
    Nome:<input type="text" id="nome" />
    </form>
    la parte relativa ad ajax
    codice:
    $(document).ready(function(){
    	$("form#input_form").submit(function(e) {
             e.preventDefault();	
     	var nome = $('#nome').attr('value');
     //-------------------------
    $.ajax({
      type:'POST',
    	dataType:'json',
    	data:{data1:nome},
    	url: 'insert.php',
    	error:function(e){console.log(e) /*scrive un eventuale eccezzione in console*/},
    	beforeSend:function(){ /*fai un animazione , mostra il loading gif quello che vuoi*/},
    	success:function(json){
    /*json lo hai già non devi fare un'altro $.getJSON*/
      alert(json.data1);
    
    /*vai avanti*/
    }
    });
    
    });
    il file insert.php
    Codice PHP:
    <?php
    $rows 
    = array ('data1'=>"prova1" );
        echo 
    json_encode($rows);

    ?>
    A questo punto dovrei semplicemente visualizzare "prova1" nel mio alert?
    Non avviene nulla!
    If you think your users are idiots, only idiots will use it. DropBox

  4. #4
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026
    posta il json che ritorna la tua chiamata, lo vedi in console con firebug su FF o con strumenti per sviluppatori su Chrome

  5. #5
    Utente di HTML.it L'avatar di homerbit
    Registrato dal
    Dec 2005
    residenza
    Roma
    Messaggi
    1,380
    Originariamente inviato da ispuk
    posta il json che ritorna la tua chiamata, lo vedi in console con firebug su FF o con strumenti per sviluppatori su Chrome
    ok! risolto, purtroppo c'è sempre qualche parentesi di meno o di troppo

    Ora rimarrebbe solo l'interazione con l'utente...cioè vorrei inserire jquery dialog proprio come avevo fatto nel codice del mio primo post.
    E' corretto inserire lo stesso codice nella sezione "success" e gestire anche i msg?

    grazie infinite!!
    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 © 2026 vBulletin Solutions, Inc. All rights reserved.