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

    Upload File da Dialog Box

    Salve ragazzi, sto tentando di effettuare un upload da un form interno ad una dialog box di JQuery UI.
    Purtroppo non ho una conoscenza approfondita di Javascript per cui mi sono trovata ad affrontare il tutto in maniera un po' arrangiata e non riesco a trovare in rete un qualcosa di specifico per affrontare questa problematica.
    In particolare la mia DialogBox funziona ed i valori relativi ai campi input di tipo "text" riesco ad inviarli (nel momento in cui si da l'ok reindirizzo verso la pagina blabla.php?value1=x&value2=y, anche se credo non sia il modo giusto per farlo XD) ma non so come trattare l'upload.
    Qualcuno ha qualche suggerimento?

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Dentro alla dilogbox ci metti un iframe che carica la pagina upload
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Ho optato per utilizzare Uploadify per effettuare l'upload, ma non credo comunque di aver capito come fare XD Il mio problema è che oltre ad effettuare l'upload all'interno del form devo anche inviare altri dati e non so come fare passando attraverso la dialog box :/

  4. #4
    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 abysmal88 Visualizza il messaggio
    Ho optato per utilizzare Uploadify per effettuare l'upload, ma non credo comunque di aver capito come fare XD Il mio problema è che oltre ad effettuare l'upload all'interno del form devo anche inviare altri dati e non so come fare passando attraverso la dialog box :/
    Credo tu abbia un bel problema poca conoscenza dei linguaggi e operazione complessa, non vedo soluzioni
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Temo di sì..comunque provo a scrivere il codice, magari non è completamente sballato XD

    Codice per la gestione dell'upload di uploadify

    codice:
     $(function() {
                    $('#file').uploadify({
                        'swf': 'uploadify.swf',
                        'uploader': 'nuovoUtente.php',
                        'fileDataName': 'file',
                        'buttonText': 'Image...',
                        'wmode': 'transparent',
                        'auto': true,
                        'multi': false,
                        'sizeLimit': 10485760,
                        'uploaderType': 'flash'
                    });
                });

    Script relativo all'apertura della Dialog Box
    codice:
    $("#dialog-form").dialog({
                        autoOpen: false,
                        height: 580,
                        width: 380,
                        modal: true,
                        closeOnEscape: true,
                        buttons: {
                            "?": function() {
                                //alert('testo help psw dimenticata');
                                $("#errorreg").dialog("open");
                            },
                            "Create Account": function() {
                                var valid = verify(password, conPassword) && checkRegexp(email, /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i, "Invalid Email (Eg. mario@rossi.com)");
                                allFields.removeClass("ui-state-error");
                                if (valid) {
                                    $.ajax({
                                        type: "GET",
                                        url: "nuovoUtente.php",
                                        data: $('#formdial').serialize(),
                                        success: function() {
                                            console.log('ok');
                                        },
                                        error: function(err) {
                                            console.log('no');
                                        }
    
    
                                    });
                                    $(this).dialog("close");
                                }
                            },
                            Cancel: function() {
                                $(this).dialog("close");
                            }
                        },
                        close: function() {
                            allFields.val("").removeClass("ui-state-error");
                        }
                    });
    $("#registra")
                            .button()
                            .click(function() {
                        $("#dialog-form").dialog("open");
                    });
    Script lato server:

    Codice PHP:
    <?php
    $output_dir 
    "images/";
    include_once (
    '../dom/utente.php');
    $utente = new utente($_GET['idUtente']);
    $utente->setCognome($_GET['cognome']);
    $utente->setNome($_GET['nome']);
    $utente->setEmail($_GET['email']);
    $utente->setPassword($_GET['password']); 
    $utente->setImmagine($output_dir$_FILES["file"]["name"]);
    if (!empty(
    $_FILES)) {    
    $tempFile $_FILES['file']['tmp_name'];    
    $targetFile $output_dir$_FILES["file"]["name"];    
    move_uploaded_file($tempFile,$targetFile);}$utente->insert();
    ?>

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Non puoi inviare un upload in get come ho già detto devi usare un iframe dentro alla dialog per fare upload
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    Ok,
    quindi creo la dialog con l'iframe

    codice HTML:
    <div id="dialog-form" title="New Upload" class="dialog-form">                   
    <iframe width="1" height="1" style="display:none" id="my_hidden_iframe"src="prova.php">               </iframe>  
    </div>

    il form al'interno del file prova.php che sarà incluso dall'iframe

    codice HTML:
    <form id="my_form" target="my_hidden_iframe" action="nuovoUpload.php" enctype="multipart/form-data" method="post">     
    <fieldset id="fset">        
    <table cellpadding="0" cellspacing="0" border="0"id="tabelladimme">            
    <tbody>                
    <tr>                    
    <td> <label for="titolo">Title</label></td>                    
    <td><input type="text" id="titolo" name="titolo" value="Title" onfocus="ClearPlaceHolder(this)" onblur="SetPlaceHolder(this)" class="text ui-widget-content ui-corner-all" /></td>                   <tr>                
    <td> <label for="file_upload">Song File</label></td>                
    <td><input id="file" name="file" type="file" title="Song File (It must be a .mp3 file)"/></td>           
    </tr>            
    </tbody>        
    </table>    
    </fieldset>
    </form>
    e lo script relativo alla dialog

    codice:
    $("#dialog-form").dialog({
                        autoOpen: false,
                        height: 480,
                        width: 350,
                        modal: true,
                        buttons: {
                            "?": function() {
                                //alert('testo help psw dimenticata');
                                $("#errorupl").dialog("open");
                            },
                            "Ok": function() {
                                $('#my_hidden_iframe').contents().find('#my_form').submit();
    
    
                                $(this).dialog("close");
                            },
                            Cancel: function() {
                                $(this).dialog("close");
                            }
                        },
                        close: function() {
                            nome_Playlist.removeClass("ui-state-error");
                        }
    
    
                    });

    Ma non funziona, non mi fa nemmeno vedere i campi input all'interno della finestra di dialogo..scusami se sto abusando della tua pazienza :/

  8. #8
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    I passaggi sono pagina principale apre la dialog (nella pagina principale avari anche lo script che comanda la dialog) nella dialog inserisci un iframe che carica la pagina upload in quest'ultima avrai Uploadify per gestire upload
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  9. #9
    è quello che ho fatto
    Solo che anzichè utilizzare uploadify ho usato l' <input> html semplice, che in teoria dovrebbe funzionare se uso l'iframe no? In ogni caso il problema è a monte perchè non mi vede proprio il contenuto dell'iframe all'interno della dialog

  10. #10
    Ooooooooohhh funziona *.* Come un idiota non mi ero accorta di aver messo
    codice HTML:
    <iframe width="1" height="1" style="display:none" id="my_hidden_iframe"src="prova.php">
    invece che
    codice HTML:
    <iframe id="my_hidden_iframe"src="prova.php">
    per cui non mi visualizzava nulla. Grazie tantissimo!!!

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