Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    752

    Problemino con operatore logico &&

    Ciao
    Ho 3 FileField che scelgono 3 file da uplodare.
    Ho creato questa function che dovrebbe dare avviso se nel primo Field non viene selezionato un file AVI && nel secondo un file un file MPG && nel terzo un file WMV.
    La sequenza è per me fondamentale:

    function ExtensionsOkay() {
    var extension = new Array();
    var fieldvalue1 = document.file_upload.File1.value;
    var fieldvalue2 = document.file_upload.File2.value;
    var fieldvalue3 = document.file_upload.File3.value;
    extension[0] = ".avi";
    extension[1] = ".mpg";
    extension[2] = ".wmv";
    // No other customization needed.
    var thisext = fieldvalue1.substr(fieldvalue1.lastIndexOf('.'));
    var thisext2= fieldvalue2.substr(fieldvalue2.lastIndexOf('.'));
    var thisext3 = fieldvalue3.substr(fieldvalue3.lastIndexOf('.'));

    for (var i = 0; i < extension.length; i++)
    for (var o = 0; o < extension.length; o++)
    for (var p = 0; p < extension.length; p++) {
    if((thisext == extension[i])&& (thisext2 == extension[o]) && (thisext3 == extension[p])) {ProgressBar(file_upload); return true }
    }
    alert("ATTENZIONE!! Assicurati dell'esatto inserimento dei file!");
    return false;
    }

    Invece se cambio la sequenza dei file lo script funziona lo stesso.
    Non capisco come fare.

    Help
    Comunque Grazie

  2. #2
    ma che ci stanno a fare tre cicli for??

    Comunque stampa thisext, thisext2 e thisext3 in un alert, che non mi ricordo se lastIndex() ha particolari funzioni con il "."

    Io lo farei così:

    Codice PHP:
    function ExtensionsOkay() {
    var 
    extension = new Array();
    extension[0] = ".avi";
    extension[1] = ".mpg";
    extension[2] = ".wmv";
    var 
    fileFields = new Array();
    fielFields[0] = document.getElementsByName("File1")[0];
    fielFields[1] = document.getElementsByName("File2")[0];
    fielFields[2] = document.getElementsByName("File3")[0];

    var 
    ret true;
    for(
    03i++)
    {
      var 
    ext fielFields[i].value.substring(fielFields[i].value.lastIndexOf('.'));
      if(
    extension[i] != ext)
        
    ret false;
    }

    if(
    ext)
    {
    ProgressBar(file_upload); return true }
    }
    alert("ATTENZIONE!! Assicurati dell'esatto inserimento dei file!");
    return 
    false;


  3. #3
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Fai cosi:
    codice:
    function ExtensionsOkay(){
    var ext = false;
    var F1 = document.getElementById("file1").value
    var F2 = document.getElementById("file2").value
    var F3 = document.getElementById("file3").value
    if(F1.toLowerCase().substr(F1.indexOf(".")+1) != "avi"){
    ext = true;
    }else if(F2.toLowerCase().substr(F2.indexOf(".")+1) != "mpg"){
    ext = true;
    }else if(F3.toLowerCase().substr(F3.indexOf(".")+1) != "wmv"){
    ext = true;
    }
    if(ext){
    alert("ATTENZIONE!! Assicurati dell'esatto inserimento dei file!");
    return false;}
        }
    Attenzione devi inserire id nei campi file (id="file1" | id="file2" | id="file3")
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    752
    ciao
    Ho provato a inserire gli script ma il primo mi da errore in IE e cmq non funziona,
    il secondo mi da sempre l'allert in qualsiasi ordine di file.
    Scusa cavicchiandrea non capisco cosa mi dici con
    "devi inserire id nei campi file (id="file1" | id="file2" | id="file3")"

    Scusate la mia i preparazione
    Comunque Grazie

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Cosi è perfetto funziona con ie e ff (testato)

    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Documento senza titolo</title>
    <script type="text/javascript">
    function estensione(){
    var ext = false;
    var F1 = document.getElementById("file1").value
    var F2 = document.getElementById("file2").value
    var F3 = document.getElementById("file3").value
    //virifica estensioni mp3
    if(F1.toLowerCase().substr(F1.indexOf(".")+1) != "mp3"){
    ext = true;
    }
    //verifica estensioni midi
    if(F2.toLowerCase().substr(F2.indexOf(".")+1) != "mid"){
    ext = true;
    }
    //verifica estensioni wma
    if(F3.toLowerCase().substr(F3.indexOf(".")+1) != "wma"){
    ext = true;
    }
    if(ext){
    alert("ATTENZIONE!! Assicurati dell'esatto inserimento dei file!");
    return false;}
        }
       </script>
    <style media="screen" type="text/css">
    .box{border:#99FF00 solid 1px; margin:5px;}
    </style>
    </head>
    
    <body >
    <form name="modulo" action="tuapagina.xxx" enctype="multipart/form-data" method="post" onsubmit="return estensione()">
      
    
    Inserire .mp3 
        <input name="file1" type="file" id="file1" />
      </p>
      
    
    
        Inserire .mid 
        <input name="file2" type="file" id="file2" />
      </p>
      
    
    Inserire .wma 
        <input name="file3" type="file" id="file3" />
        </p>
      
    
    
        <input name="" type="submit" />
            </p>
    </form>
    </body>
    </html>
    Il mio era un esempio (scritto al volo), visto il codice scritto da te pensa avessi più dimestichezza con il linguaggio, attenzione devi cambiare l'estensione dei file con quelli che ti servono.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    752
    Ciao cavicchiandrea
    Ho fatto delle prove e (F1.toLowerCase().substr(F1.indexOf(".")+1) mi da solo il nome del file. Come puù funzionare questa riga?

    if(F1.toLowerCase().substr(F1.indexOf(".")+1) != "avi")
    Comunque Grazie

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.