Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Ajax, Jquery invio dati

    Buon pomeriggio.
    Solitamente per inviare i dati ad una pagina php utilizzo lo script di esempio come di seguito:
    codice:
    function ajaxSubmit(tipo){
    var cTitolo        = $("#cTitolo").val();
    var dtValidita    = $("#dtValidita").val();
    var cAltro        = $("#cAltro").val();
    
    if (cTitolo == "") {
    $("#cTitolo-description").html("<div class='alert alert-danger' role='alert'>Campo obbligatorio</div>");
    $("#cTitolo").focus();
    return;
    }
    if (confirm('Conferma invio?')){
                $.ajax({
                    type : "POST",
                    url  : "invio.php",
                    data :  "cTitolo=" + cTitolo +
                   "&dtValidita=" + dtValidita +
                   "&dtScadenza=" + dtScadenza +
                   "&dtAnnoRif=" + dtAnnoRif,
                    success: function(html){
                       alert("invio eseguito");
                    }
                  });
              }
              else{
                return;
              }
    }
    La mia domanda: è possibile evitare ogni volta di dover creare tutta la struttura della funzione per l'invio dei dati come ho postato?
    Nel senso, è possibile evitare di scrivere ogni volta ogni singola variabile da settare e ogni singola da inviare?
    codice:
    //da settare
    var cTitolo        = $("#cTitolo").val();
    var dtValidita    = $("#dtValidita").val();
    var cAltro        = $("#cAltro").val();
    
    //da inviare
    data :  "cTitolo=" + cTitolo +
    "&dtValidita=" + dtValidita +
    "&dtScadenza=" + dtScadenza +
    "&dtAnnoRif=" + dtAnnoRif,
    Grazie.

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,288
    Come è indicato anche nella documentazione di jQuery.ajax(), la proprietà data del parametro può essere valorizzata con un oggetto JavaScript che specifica i valori, senza usare la concatenazione:

    codice:
    $.ajax({
      method: "POST",
      url: "some.php",
      data: { name: "John", location: "Boston" }
    })
    Puoi anche evitare di salvare i valori recuperati dai campi in una variabile e indicarli direttamente nella chiamata all'oggetto, quando occorre; per intenderci, qualcosa tipo questo:

    codice:
    $.ajax({
      type: "POST",
      url: "invio.php",
      data: {
        cTitolo: $("#cTitolo").val(),
        dtValidita: $("#dtValidita").val(),
        dtScadenza: dtScadenza,
        dtAnnoRif: dtAnnoRif
      },
      success: function(html) {
        alert("Invio eseguito");
      }
    });
    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Ti ringrazio dell'aiuto.
    Quindi l'unica cosa che posso "evitare" di scrivere sono le variabili var cTitolo = $("#titolo").val(); subito dopo aver istanziato la funzione, per il resto è tutto uguale.
    Io, pensavo che al momento dell'invio dove c'è data: {}, qui dentro si potessero prendere tutti i campi valorizzati del form senza scrivere tutta quella roba.

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Per prelevare tutti i campi (anche quelli non valorizzati) del form puoi usare $( "form" ).serialize();
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

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 © 2024 vBulletin Solutions, Inc. All rights reserved.