Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 1999
    Messaggi
    336

    perché nn mi resetta il campo?

    Ciao a tutti
    Ho uno script che controlla le dimensioni di un'immagine ma, dopo aver cliccato sull'alert, non si azzera il campo myFile (andando a vanificare, in tal modo, un altro js che mi controlla il riempimento dei files)

    Dov'è l'inghippos?



    ... omissis ...
    if (larhezza>222 || altezza>333 || peso>1111) {

    alert("Accertarsi che il file da caricare non sia largo piè 200 alto 100 grosso 1200");

    document.myForm.myFile.value="";

    return false;
    ... omissis ...

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Un campo di tipo file e' di sola lettura... non puo' essere modificato da codice.

    Si resetta solo insieme all'intero form.

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 1999
    Messaggi
    336

    grazie ma ...

    allora come posso impedire l'invio del form in caso di selezione di un file errato?

    Mi spiego ... in un precedente 3d ho visto un tuo script per il controllo di estensione/pero/dimensioni di immagini da caricare in un form.

    Ho cercato di adattarlo ad una mia esigenza ma mi accade che, selezionando un file errato (ad ex. pippobaudo.zip) , l'alert funziona ("attenzione .zip non p permesso") ma, scrivendomelo ugualmente nel campo immagine cliccando su INVIA il form parte lo stesso.


  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Quale script? ce ne sono diverse versioni...

    In linea di massima puoi settare una variabile globale e testarla per consentire l'invio del form...
    codice:
    var concesso = true;
    function controllo() {
    ...
    if (...) {
      alert();
      concesso = false;
    } else { concesso = true }
    }
    
    ...
    <form onsubmit="return concesso">
    Prendilo come concetto: il codice definitivo dipende da quanto hai gia'...

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 1999
    Messaggi
    336
    Lo script é questo ..........

    <script language="JavaScript">
    <!--
    function precarica(){
    nomeFile = document.myForm.myFile.value;
    if (nomeFile=="") {
    return false;
    }
    extFile=nomeFile.substr(nomeFile.lastIndexOf(".")+ 1);
    permesse="#jpg#gif#bmp#";
    if (permesse.indexOf("#"+extFile+"#")==-1) {
    alert(extFile + " non e' un file permesso");
    return false;

    } else {
    myImg.src = nomeFile;
    }
    }

    function misura(){
    if(myImg.src=="") { // non e' permesso omettere il file
    return false;
    }

    larghezza = myImg.width;
    altezza = myImg.height;
    dimensione = myImg.fileSize;

    if (larghezza >22 || altezza >432|| dimensione >6500) {
    alert("Accertarsi che il file da caricare non abbia larghezza più di 22, altezza più di 432 e peso di6500kb");

    }

    }
    //-->
    </script>


    <form ENCTYPE="multipart/form-data" method="post" name=myForm onsubmit='misura();'>
    <input type=file name=myFile onchange='precarica();' accept="image/*">
    </form>

    <img name=myImg style="visibility:hidden;" onload="misura()">

  6. #6
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    per eliminare il valore di un input type file si può fare qualcosa per IE
    codice:
    <input type="file" name="NomeFile">
    <input type="button" value="reset file" onclick="this.form.NomeFile.select();document.execCommand('cut');">

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 1999
    Messaggi
    336

    e questa scorciatoia?

    visto che nella medesima pagina ho un altro js che mi mostra il tasto INVIA solo dopo aver riempito tutti i campi del form, avevo pensato a questa "scorciatoia":
    dopo aver cliccato sull'OK dell'alert, faccio in modo di cancellare uno dei campio del form, così, sostanzialmente, blocco l'invio
    pertanto sotto


    alert("Accertarsi che il file da caricare non sia largo piè 200 alto 100 grosso 1200");

    ho provato ad inserire il reset del primo campod el form (name= linee) inserendo:

    document.myForm.linee.value="";

    ma, giustamente NON funge.
    Cosa sbaglio?


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.