Visualizzazione dei risultati da 1 a 8 su 8

Discussione: controllo file

  1. #1

    controllo file

    salve ho un'immagine jpg di (lar=150 x alt=200) e risoluzione orizzontale everticale di 300x x 300,immagino queste siano tutte dimensioni in pixel,vero?

    Il problema è che quando vado a reperire queste informazioni con javascript ottengo '0' per la larghezza e '12479136' per l'altezza.

    il codice che scrivo è:
    function ControllaImg(immagine) {
    alert(document.news.foto.width); //ottengo '0'
    alert(document.news.foto.height); //ottengo '12479136'
    var estensione=immagine.substr(immagine.indexOf('.')+1 ,3);
    var larghezza=immagine.width;
    var altezza=immagine.height;
    alert(estensione+larghezza+altezza);
    if (larghezza!=200 || altezza!=200) {
    alert ("Foto di dimensioni non corrette!");
    return false;
    }
    if (estensione!="gif" || estensione!="jpg") {
    alert ("Formato per la foto inserita non corretto!");
    return false;
    }
    }
    con immagine pari a document.news.foto.value; //campo di tipo file
    ...
    cosa c'è che non va?

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non esistono i parametri width e height di un campo.

    Per avere le dimensioni di un'immagine, devi averla caricata in memoria o nel browser:

    caso in memoria:
    var immag = new Image();
    immag.src = "nome.gif";
    var largh = immag.width;
    var alt = immag.height;


    caso nel browser come immagine:
    [img]nome.gif name=[/img]

    var largh = document.images['pippo'].width;
    var alt = document.images['pippo'].height;


    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    ok ma continuo ad avere come larghezza ed altezza valori pari a '0'

    var immag = new Image();
    alert (immagine);
    immag.src = immagine; //percorso reperito da campo di tipo file
    var larghezza = immag.width;
    var altezza = immag.height;



    alert(larghezza);
    alert(altezza);

    scusa io l'immagine la reperisco mediante un campo di tipo file...
    come fare per reperirne altezza e larghezza ?

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Devi aspettare il tempo occorrente all'immagine per essere caricata dal browser prima di poterla misurare...

    var immag = new Image();
    alert (immagine);
    immag.src = immagine; //percorso reperito da campo di tipo file
    setTimeout('misura()',500);

    function misura() {
    var larghezza = immag.width;
    var altezza = immag.height;
    alert(larghezza);
    alert(altezza);
    }

    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
    quella funzione proprio non la capisco..nel senso che come fa ariconoscere immag?
    poi se inserisco un'immagine la prima volta mi da le misure corrette,dalla seconda in poi mi restituisce sempre '0' per larghezza e altezza

  6. #6
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    posta tutta la pagina o almeno tutta la parte interessata...
    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

  7. #7
    il codice della pagina interessata è:
    <?php
    include ("Dbconnector.inc");

    $record=array();
    if (!empty($HTTP_GET_VARS['IDnews'])){
    $con=new DbConnector;
    $con->_connect();
    $con->_use('DonnaCreaImpresa');
    $query="select * from news where Id=".$HTTP_GET_VARS['IDnews'];
    $response=$con->_sql($query);
    $record=$response[0];
    $con->_disconnect();


    }
    ?>

    <script language="JavaScript">
    <!--
    function isDate(str) {
    spz = str.split("/");
    dat = new Date(spz[2], spz[1]-1, spz[0]);
    gg = dat.getDate();
    mm = dat.getMonth() +1;
    aa = dat.getFullYear();
    if (aa==parseFloat(spz[2])&&mm==parseFloat(spz[1])&&gg==parseFloat(spz[0])) {
    return dat;
    }
    return false;
    }

    function checkData(d){
    var x=document.news;
    if (d.value){
    if (d.value.substring(2,3) != "/" ||
    d.value.substring(5,6) != "/" ||
    isNaN(d.value.substring(0,2)) ||
    isNaN(d.value.substring(3,5)) ||
    isNaN(d.value.substring(6,10))) {
    alert("Inserisci la data in formato gg/mm/aaaa");
    d.value = "";
    d.focus();
    return false;
    } else if (d.value.substring(0,2) > 31) {
    alert("Impossibile utilizzare un valore superiore a 31 per i giorni");
    return false;
    } else if (d.value.substring(3,5) > 12) {
    alert("Impossibile utilizzare un valore superiore a 12 per i mesi");
    return false;
    } else if (d.value.substring(6,10) < 1900) {
    alert("Impossibile utilizzare un valore inferiore a 1900 per l'anno");
    return false;
    }

    if (d.name=="data"){
    if (d.value!=""){
    if (!isDate(d.value)) {
    alert("Data per la news errata!");
    x.data.value="";
    x.data.focus();
    return false;
    }
    }
    }

    if (d.name=="dataScad"){
    if (d.value!=""){
    if (!isDate(d.value)) {
    alert ("Data di scadenza errata!");
    x.dataScad.value="";
    x.dataScad.focus();
    return false;
    }
    }
    }
    }

    if (x.data.value && x.dataScad.value){
    spz1 = x.data.value.split('/');
    dat1 = new Date(spz1[2], spz1[1]-1, spz1[0]);
    spz2 = x.dataScad.value.split('/');
    dat2 = new Date(spz2[2], spz2[1]-1, spz2[0]);
    if (dat1>=dat2){
    alert ("Intervallo date non corretto!");
    x.dataScad.value="";
    x.dataScad.focus();
    return false;
    }
    }

    }

    function ControllaFile(f){
    var x=document.news;
    var estensione=f.substr(f.indexOf('.')+1,3);

    if (estensione!="pdf" && estensione!="doc") {
    alert ("Formato per il file inserito non corretto!");
    return false;
    }
    return true;
    }

    function misura() {
    var larghezza = immag.width;
    var altezza = immag.height;

    }

    function ControllaImg(immagine) {
    var estensione=immagine.substr(immagine.indexOf('.')+1 ,3);
    var immag = new Image();
    immag.src = immagine;
    var larghezza = immag.width;
    var altezza = immag.height;
    setTimeout('misura()',500);

    alert(larghezza+""+altezza)
    if (larghezza!=200 || altezza!=200) {
    alert ("Foto di dimensioni non corrette! Inserisci un'immagine di dimensioni (200x200)");
    return false;
    }
    if (estensione!="gif" && estensione!="jpg") {
    alert ("Formato per la foto inserita non corretto!");
    return false;
    }
    }

    function controlla(){
    var x=document.news;
    var data=x.data.value;
    var titolo=x.titolo.value;
    var testo=x.testo.value;
    var foto=x.foto.value;

    var file=x.file.value;
    var scadenza=x.dataScad.value;

    if (data=="" || titolo=="" || testo=="" || scadenza==""){
    alert ("Campi obbligatori mancanti!");
    return false;
    }

    if (foto!="") { return ControllaImg(foto); }
    if (file!="") { return ControllaFile(file); }

    x.action="Elabora_SkNews.php";

    }
    -->
    </script>
    <html>
    <head>
    <title>Admin Donna Crea Impresa - Inserimento/Modifica news</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>

    <body>
    <table width="648" border="0" align="center" cellpadding="1">
    <form method="post" name="news" onSubmit="return controlla()">
    <tr>
    <td colspan="3">Admin &gt; News ed eventi &gt; Inserimento/Modifica news

    </td>
    </tr>
    <tr>
    <td colspan="3">

    NEWS
    <input type="hidden" name="codice" value="<? echo $record['Id']; ?>">


    </td>
    </tr>
    <tr>
    <td colspan="3">Data (*)</td>
    </tr>
    <tr>
    <td width="212">
    <?php
    if (!empty($record)){
    list ($anno, $mese, $giorno) = explode ("-", $record['Data']);
    echo "<input type=\"text\" name=\"data\" onBlur=\"return checkData(this)\" size=\"10\" value=\"".$giorno."/".$mese."/".$anno."\">";
    }
    else{
    echo "<input type=\"text\" name=\"data\" onBlur=\"return checkData(this)\" size=\"10\" value=\"".date("d/m/Y")."\">";
    }
    ?></td>
    <td width="212"></td>
    <td width="210"></td>
    </tr>
    <tr>
    <td colspan="3">Titolo (*)</td>
    </tr>
    <tr>
    <td colspan="3"><input name="titolo" type="text" size="50" value="<? echo $record['Titolo']; ?>"></td>
    </tr>
    <tr>
    <td colspan="3">Testo (*)</td>
    </tr>
    <tr>
    <td height="71" colspan="2"> <textarea name="testo" cols="45" rows="3"><? echo $record['Testo']; ?></textarea></td>
    <td></td>
    </tr>
    <tr>
    <td colspan="3">Foto</td>
    </tr>
    <tr>
    <td colspan="2"><input type="file" name="foto"></td>
    <td></td>
    </tr>
    <tr>
    <td colspan="3">File</td>
    </tr>
    <tr>
    <td colspan="2"><input type="file" name="file"></td>
    <td></td>
    </tr>
    <tr>
    <td colspan="3">Scadenza (*)</td>
    </tr>
    <tr>
    <td>
    <?php
    if (!empty($record)){
    list ($anno, $mese, $giorno) = explode ("-", $record['Scadenza']);
    echo "<input type=\"text\" name=\"dataScad\" onBlur=\"return checkData(this)\" size=\"10\" value=\"".$giorno."/".$mese."/".$anno."\">";
    }
    else{
    echo "<input type=\"text\" name=\"dataScad\" onBlur=\"return checkData(this)\" size=\"10\" value=\"\">";
    }
    ?>
    </td>
    <td></td>
    <td></td>
    </tr>
    <tr>
    <td colspan="3">

    (*) I campi contrassegnati da questo simbolo sono obbligatori



    </td>
    </tr>
    <tr>
    <td colspan="3"><input type="submit" name="salva" value="Salva">
    <input type="submit" name="salva" value="Elimina"> <input type="reset" name="annulla" value="Annulla"></td>
    </tr>
    <tr>
    <td colspan="3">

    [Torna indietro] </td>
    </tr>
    </form>
    </table>

    </body>
    </html>

  8. #8
    up

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