Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    serialize su risposta asincrona

    Provo a fare una domanda su un quesito che mi stà togliendo il sonno.la seguente richiesta dalla pagina anagrafica.php:


    codice:
    <script type="text/javascript">
    $(document).ready(function() {
        $.post("visualizza_relazioni.php", function(data){
            $("#risultato_ricerca").html(data);
        });
    return false;
    });
    </script>
    



    mi permette di visualizzare questo:


    codice:
    
    
    codice:
          <tr>
            <td width="112"><?php echo date("d/m/Y", strtotime($row_rs_relazioni['data'])); ?></td>
            <td width="562"><?php echo $row_rs_relazioni['contenuto']; ?></td>
            <td width="90"><?php echo $Agenda; ?></td>
            <td width="112"><?php echo date("d/m/Y", strtotime($row_rs_relazioni['scadenza'])); ?></td>
            <td width="126"><?php echo $row_rs_relazioni['stato']; ?></td>
            <td width="63"><form id="frm_elimina_relazione" name="frm_elimina_relazione" method="post" action="visualizza_ricerca.php">
              <input name="ID_relazione" type="hidden" id="ID_relazione" value="<?php echo $row_rs_relazioni['ID_relazione']; ?>" />
              <input name="elimina_relazione" type="hidden" id="elimina_relazione" value="elimina_relazione" />
              <input type="submit" name="button" id="button" value="Elimina" />
            </form></td>
          </tr>
    




    Pensavo di usare serialize per procedere all'invio del form "frm_elimina_relazione"
    codice:
    
    
    codice:
    <script type="text/javascript">  
           $('#frm_elimina_relazione').submit(   
                function(event){  
                     event.preventDefault();  
                     term = $(this).serialize();  
                     url = $(this).attr('action');  
                     $.post(  
                               url,  
                               term,  
                               function(data){$('#risultato_ricerca').html(data);}  
                               ).error(function(){$('#risultato_ricerca').html('impossibile inviare il modulo');})  
                }  
      )  
    </script>   
    




    Ma non funziona ne se lo metto in anagrafica.php ne in visualizza_ricerca.php


    Come potrei fare per intercettare quindi il form?

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    ma serialize o meno entra nella funzione?
    se non la esegue, usa .on(), nella forma $(document).on('submit','#frm_elimina_relazione',function(){...})
    quel form non esiste quando assegni il gestore per il submit

    ciao

  3. #3
    sei un grande. Ti sarò riconoscente a vita

  4. #4
    credo di avere lo stesso problema con datapiker.
    In questo caso come faccio ad usare .on?
    codice:
    		$(document).ready(function(){
    			$('#data_ric').datepicker({ dateFormat: 'dd/mm/yy' });
    		});

  5. #5
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    on() e' per assegnare gestori evento
    qui invece devi attivare un plugin per un elemento che non esiste ancora, quindi puoi farlo dopo che l' hai aggiunto al markup (dopo la risposta della tua richiesta asincrona)
    function(data){
    $('#risultato_ricerca').html(data);

    $('#risultato_ricerca').find('.classeCampo').datepicker({ dateFormat:'dd/mm/yy'});} ...
    gli id devono essere univoci nel documento, non puoi avere piu' elementi con lo stesso id, per questo attivo solo l' elemento (o gli elementi) con una specifica classe e solo nell' elemento che sai essere cambiato ('risultato_ricerca')

    ciao

  6. #6
    Grazie Xinod. Mi stai insegnando veramente tanto. I tuoi suggerimenti sono veramente preziosi. Ora mi accade questo: dopo che ho inviato il form, avrei bisogno di resettare tutti i campi del form. In rete ho trovato questo ma non riesco proprio ad immaginare come fare per richiamare la funzione e dove richiamarla.

    codice:
    function resetForm(id) {
    $(':text, :password, :file', '#'+id).val('');
    $(':input,select option', '#'+id).removeAttr('checked').removeAttr('selected');
    $('select option:first', '#'+id).attr('selected',true);
    }
    

  7. #7
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    esattamente dopo quella riga che ti ho suggerito di aggiungere (quindi sempre nel ramo del success della chiamata asincrona), aggiungi
    resetForm('frm_elimina_relazione')

    ciao

  8. #8
    se non ho capito male dovrebbe essere così, ma non funziona. Ma qual'è la giusta posizione per le funzioni? Io l'ho messa nell'head

    codice:
    <script type="text/javascript">  
           $(document).on('submit','#frm_altre_aziende',function(event){   
                     event.preventDefault();  
                     term = $(this).serialize();  
                     url = $(this).attr('action');  
                     $.post(  
                               url,  
                               term,  
                               function(data){
                                   $('#altre_aziende_trattate').html(data);
                                   clearForm('frm_altre_aziende');
                                   }  
                               ).error(function(){$('#altre_aziende_trattate').html('impossibile inviare il modulo');})  
                }  
      )  
    
    
    </script>
    Ultima modifica di maliba; 22-03-2014 a 22:56

  9. #9
    ...volevo precisare che ho cambiato il nome della funzione che non è più resetForm bensì clearForm

  10. #10
    veramente non riesco a capire. ho provato a richiamare la funzione anche dall'evento onClick ma niente....

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.