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

    submit senza campo form

    Ciao a tutti,
    posso fare un submit di dati (tra cui un campo file) senza avere un form?

    Come?

    Fatemi sapere.

    Grazie mille.

  2. #2
    Sto provando con Ajax ma non va, che sbaglio:
    codice:
    				$(this).ajaxSubmit({
    					target:   '#targetLayerfotoprofilo', 
    					type: "POST",
    					data: $('#fotoprofilo').val(),
    					url: 'ciccio.asp',
    Sbaglio sicuramente passando il valore di fotoprofilo che è un campo input file.

    Come devo modificare?

  3. #3
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Sei consapevole che con Ajax non puoi inviare file binari vero? E no non puoi inviare un campo file senza form perché mancherebbe enctype= multipart/form-data
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  4. #4
    Purtroppo sono agli inizi con ajax e stavo cercando una soluzione perchè ho la necessità di inviare il campo file senza form.
    C'è un altra soluzione?

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Forse appoggiandoti a flash
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  6. #6
    Ciao pegaso22,
    se devi inviare delle immagini (magari controllandone la dimensione massima),
    puoi usare lo script sottostante che trasforma l'immagine in una stringa (base64).

    A questo punto con una semplice chiamata ajax puoi trasferire al server "l'immagine" come stringa.
    Avevo utilizzato questo sistema per memorizzare offline dei form e trasferirli successivamente via ajax.

    Saluti


    codice:
    <!DOCTYPE>
    <html>
      <head>
      <meta http-equiv="content-type" content="text/html; charset=utf-8">
      <title>Upload Image</title>
    <style>
      
    </style>
    <script>
    
    
    oFR = new FileReader(), 
    rFilter = /^image\/(?:gif|jpeg|jpg|png)$/i;
    
    
    function loadImageFile() {
      var J=document.getElementById("id_uploadImage");
      if(J.files.length===0) return;
      var oFile = J.files[0],  
          FLN=oFile.name,           // nome file
          FLZ=oFile.size;           // dimensione file
    
      if(!rFilter.test(oFile.type)) { alert("Tipo file errato! (jpg, png, gif)!"); return; }    // tipo immagine
      if(FLZ>2100000) { alert("Attenzione! Massima dimensione file 2MB."); return;  }
     
      oFR.readAsDataURL(oFile);
              
      oFR.onload=function(e) {
        var s=e.target.result;
        document.getElementById("id_preview").src=s; 
        document.getElementById("id_picture").value=s;                      
      }
    }
    
    
    
    </script>  
      </head>
      <body>
    
      <input id="id_uploadImage" type="file" accept="image/*;capture=camera" onchange="loadImageFile();"  value="" /> 
      <br><br>
      Stringa da inviare tramite chiamata Ajax:
      <br>
      <textarea id='id_picture'  style='width:320px;height:200px;'></textarea>
      <br><br>
      Anteprima:<br>
      <img id='id_preview' src='' width="200px">
       
      </body>
    </html>

  7. #7
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,783
    Quote Originariamente inviata da Tonenge Visualizza il messaggio
    puoi usare lo script sottostante che trasforma l'immagine in una stringa (base64).
    bella 'sta cosetta

    nel provarla su xp ho notato che Opera e Safari non eseguono lo script
    (nemmeno IE8, e non ho altre versioni di IE per provare).
    invece rispondono correttamente Chrome e FireFox.

    pensi ci sia modo di renderlo eseguibile da quei browser?


  8. #8
    Ciao,
    il supporto di "FileReader" è abbastanza limitato su browsers non recenti...
    Ciò che secondo me risulta rilevante è il contesto di utilizzo:
    se si esegue lo script al fine di creare una web application su mobile (smartphone, tablet) il supporto su ios e android è buono.

    Non penso ci sia un modo per rendere retrocompatibile lo script.

    Saluti

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.