Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di gasmor
    Registrato dal
    Apr 2004
    Messaggi
    1,768

    ajax e enctype="multipart/form-data"

    è possibile eseguire una chiamata ajax con un enctype="multipart/form-data"?


    codice:
    ... richiamo Mootools
    <script language="javascript">
    window.addEvent('domready', function() {
    	
    	var MyFrm = $('form_rapid');
    	
    	if(MyFrm){
    	
    	     MyFrm.addEvent('submit', function(e) {
    		     e.stop();
    		
    		     var log = $('rapid_insert_report').empty().addClass('ajax-loading');
    		     this.set('send', {onComplete: function(response) { 
    			     log.removeClass('ajax-loading');
    			     log.set('html', response);
    		     }});
    		     this.send();
    		
    	     });
    	}
    });
    </script>
    
    <form name="form_rapid" id="form_rapid" method="post" action="store.php" enctype="multipart/form-data">
    <textarea id="contenuto_pg" name="contenuto_pg"></textarea>
    
    
    
    <input type="file" name="upfile" />
    
    
    
    <input  name="button" id="submitter" type="submit" value="Invia" class="Stile_bottone" />
    </form>

    In questo esempio ho utilizzato Mootools Form.Send http://demos.mootools.net/Form.Send ma in pratica se inserisco un file questo non viene riconosciuto dalla pagina store.php.

    Ci sono alternative?
    Hai provato a creare un sito con Jaaxo Cms PHP5? new!

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Ajax non accetta dati binari
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it L'avatar di gasmor
    Registrato dal
    Apr 2004
    Messaggi
    1,768
    immaginavo...

    grazie lo stesso
    Hai provato a creare un sito con Jaaxo Cms PHP5? new!

  4. #4
    Utente di HTML.it L'avatar di gasmor
    Registrato dal
    Apr 2004
    Messaggi
    1,768

    alternativa

    se può interessare ho risolto in una maniera meno elegante ma efficace:
    codice:
    window.addEvent('domready', function() {
    	
        var myIFrame = new IFrame({
    							  
    		      id: 'myIFR',
    		      name: 'myIFR',
    							  
    		      styles: {
    				display: 'none'
                          },
    							  
    		     events: {
    				load : function(){ 
                                             _write(this.contentDocument.body.innerHTML); 
                                            }
                         }
    
    	}).inject(document.body);
    });
    
    function _write(code){
    	var log = $('rapid_insert_report');
    	log.set('html', code);
    }
    
    
    <div id="rapid_insert_report"></div>
    
    <form name="form_rapid" id="form_rapid" method="post" action="store.php" enctype="multipart/form-data" target="myIFR">
    <textarea id="contenuto_pg" name="contenuto_pg"></textarea>
    
    
    
    <input type="file" name="upfile" />
    
    
    
    <input  name="button" id="submitter" type="submit" value="Invia" class="Stile_bottone" />
    </form>
    Hai provato a creare un sito con Jaaxo Cms PHP5? new!

  5. #5
    B, io ho creato una pagina con lo script indicato ma mi da errore javascript e carica una nuova finestra .
    Manca qualcosa?

    <html>
    <title></title>
    <head>
    <script type="text/javascript" src="../mootools.js"></script>
    <script type="text/JavaScript">
    window.addEvent('domready', function() {

    var myIFrame = new IFrame({

    id: 'myIFR',
    name: 'myIFR',

    styles: {
    display: 'none'
    },

    events: {
    load : function(){
    _write(this.contentDocument.body.innerHTML);
    }
    }

    }).inject(document.body);
    });

    function _write(code){
    var log = $('rapid_insert_report');
    log.set('html', code);
    }
    </script>
    </head>
    <body>
    <div id="rapid_insert_report"></div>

    <form name="form_rapid" id="form_rapid" method="post" action="store.php" enctype="multipart/form-data" target="myIFR">
    <textarea id="contenuto_pg" name="contenuto_pg"></textarea>



    <input type="file" name="upfile" />



    <input name="button" id="submitter" type="submit" value="Invia" class="Stile_bottone" />
    </form>
    </body>

  6. #6
    Utente di HTML.it L'avatar di gasmor
    Registrato dal
    Apr 2004
    Messaggi
    1,768
    il codice è corretto.

    hai utilizzato anche i plugin di mootools?

    http://mootools.net/more
    Hai provato a creare un sito con Jaaxo Cms PHP5? new!

  7. #7
    Utente di HTML.it L'avatar di gasmor
    Registrato dal
    Apr 2004
    Messaggi
    1,768
    prova anche a fare questa piccola ma doverosa modifica:

    var myIFrame = new IFrame({

    id: 'myIFR',
    name: 'myIFR',

    styles: {display: 'none'},

    events: {
    load : function(){
    if(Browser.Engine.trident)
    _write(this.innerHTML);
    else
    _write(this.contentDocument.body.innerHTML);

    }
    }
    }).inject(document.body);
    Hai provato a creare un sito con Jaaxo Cms PHP5? new!

  8. #8
    ok, ho inseriro il richiamo a mootools 1.2.3 indicato da voi + la correzione allo script.
    Errori ora non ne escono, ma al file store.php non vengono passati i parametri (anzi non funziona proprio il caricamento del file).
    Trasmetto il codice della pagina
    In store.php ho messo solo :
    <? echo "vedo". $_FILES['foto']['name']."
    ".$_REQUEST[contenuto_pg];?>
    Non viene stampato nulla e nemmeno il testo statico 'vedo'


    <html>
    <title></title>
    <head>
    <script type="text/javascript" src="../mootools.js"></script>
    <script type="text/javascript" src="../mootools-1.2.3-core-yc.js"></script>
    <script type="text/JavaScript">
    window.addEvent('domready', function() {

    var myIFrame = new IFrame({

    id: 'myIFR',
    name: 'myIFR',

    styles: {display: 'none'},

    events: {
    load : function(){
    if(Browser.Engine.trident)
    _write(this.innerHTML);
    else
    _write(this.contentDocument.body.innerHTML);
    }
    }
    }).inject(document.body);
    });

    function _write(code){
    var log = $('rapid_insert_report');
    log.set('html', code);
    }
    </script>
    </head>
    <body>
    <div id="rapid_insert_report"></div>

    <form name="form_rapid" id="form_rapid" method="post" action="store.php" enctype="multipart/form-data" target="myIFR">
    <textarea id="contenuto_pg" name="contenuto_pg"></textarea>



    <input type="file" name="foto" />



    <input name="button" id="submitter" type="submit" value="Invia" class="Stile_bottone" />
    </form>
    </body>

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.