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

    [Jquery] Invio input tipo file

    Ciao a tutti, sto uscendo pazzo per una cosa banale... almeno credo... Intanto posto il codice html del mio form che è strutturato su un layout di tipo tabellare. Siccome per ogni riga della tabella dovrei aggiornare una riga del database, ho inserito al termine di ogni riga un bottone per il submit della riga... che gestisco tramite jquery... L'idea è quella di clonare la riga corrente in un form nascosto che creo (che sarà contenuto nel div con id "hidden_form") dinamicamente con jquery

    codice:
     function invia(dest_url, id, titolo, livello, grammatica, abilita, testo, rivolto_a) {
         $(document.createElement("form")).attr('id', 'form_upd_file').attr('action', dest_url).attr('method', 'POST').attr('style', 'display:none;').appendTo("#hidden_form");
    
    
         $(document.createElement("input")).attr('name', 'ipt_action').attr('id', 'ipt_action').attr('value', 'upd_file').appendTo("#form_upd_file");
         $(document.createElement("input")).attr('name', 'id').attr('id', 'id').attr('value', id).appendTo("#form_upd_file");
         $(document.createElement("input")).attr('name', 'titolo').attr('id', 'titolo').attr('value', titolo).appendTo("#form_upd_file");
          $(document.createElement("input")).attr('name', 'livello').attr('id', 'livello').attr('value', livello).appendTo("#form_upd_file");
         $(document.createElement("input")).attr('name', 'grammatica').attr('id', 'gramatica').attr('value', grammatica).appendTo("#form_upd_file");
         $(document.createElement("input")).attr('name', 'abilita').attr('id', 'abilita').attr('value', abilita).appendTo("#form_upd_file");
         $(document.createElement("input")).attr('name', 'testo').attr('id', 'testo').attr('value', testo).appendTo("#form_upd_file");
         $(document.createElement("input")).attr('name', 'rivolto_a').attr('id', 'rivolto_a').attr('value', rivolto_a).appendTo("#form_upd_file");
         
    // APPENDO AL FORM HIDDEN Il campo input di tipo file
         $("#my_file_upload_file_"+id).appendTo("#form_upd_file");
         
             
         $("#form_upd_file").submit();
    
    
       }
    
    
    
    $("#upd_file_table input[type=submit]").click(function() {
            var id                 = $(this).attr("id");
            var titolo             = $("#titolo_file_"+id).val();
            var livello         = $("#livello_file_"+id).val();
            var grammatica         = $("#grammatica_file_"+id).val();
            var abilita         = $("#abilita_file_"+id).val();
            var testo             = $("#testo_file_"+id).val();
            var rivolto_a        = $("#rivolto_a_file_"+id).val();
            
            invia('', id, titolo, livello, grammatica, abilita, testo, rivolto_a);
            
            return false;
        });
    Da notare che il campo input in questione scompare dalla tabella quindi viene regolarmente appeso al form "hidden" ma non arriva niente alla pagina... o meglio arrivano tutti i campi tranne quello di tipo file.... cosa devo fare? Sto impazzendo...

  2. #2
    Forse mi sto complicando io la vita... Esiste un modo per inviare determinati campi di un form?
    cioè in un form ho per ogni riga di una tabella del database una riga di una tabella HTML.
    ho la necessità di dover aggiornare il database. come faccio ad inviare alla pagina php solo gli input relativi alla riga modificata? Avevo pensato di creare gli input in un nuovo form nascosto ed appendere al suo interno l'input relativo al file... Ma non funziona dove sbaglio??? Datemi qualche idea, vi prego!

  3. #3
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Se nel form hai un campo file da inviare non hai altre soluzioni un form per riga, togli le tabelle e la fai a div un div una riga che conterrà il form specifico.



    P.S. ATTENZIONE per inviare file il form deve avere enctype="multipart/form-data"
    P.S.S l'attributo di jquery attr({'id':valore, 'value':valore, 'action':valore, etc...})
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  4. #4
    Ma come mai il form inviato con la funzione invia non invia il tipo file e gli altri si?

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Quote Originariamente inviata da Vincent Visualizza il messaggio
    Ma come mai il form inviato con la funzione invia non invia il tipo file e gli altri si?
    A) nella tua funzione non hai impostato enctype
    B) non sono sicuro che vengano inviati i file se non si usa un campo tipo file



    P.S. Fai come t'ho detto con i div e non tabellare (che oltretutto è sbagliato) .
    Ultima modifica di cavicchiandrea; 04-07-2014 a 08:24
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  6. #6
    Quote Originariamente inviata da cavicchiandrea Visualizza il messaggio
    A) nella tua funzione non hai impostato enctype
    B) non sono sicuro che vengano inviati i file se non si usa un campo tipo file



    P.S. Fai come t'ho detto con i div e non tabellare (che oltretutto è sbagliato) .
    Ok... ho risolto creando un form per ogni riga della tabella e funziona correttamente!!!

    Grazie per l'idea!

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.