2015-05-06 11 views
5

Voglio chiamare la funzione onchange alla selezione del file o quando il file viene modificato, ma la funzione onchange non viene chiamata perché ho impostato display: none per il controllo file perché io Sto usando definendolo sull'immagine click, non riesco a capire come chiamare sul onchange funzione:La funzione onchange di Jquery non viene richiamata sul controllo file nascosto

$(document).ready(function() { 
 
    $('#profile-image').on('click', function() { 
 
    $('#photo').click(); // opens up the file dialog for selection of image 
 
    }); 
 
}); 
 

 
$("#photo").change(function() { 
 
    alert($(this).val()) 
 
});
.hidden_img { 
 
    display: none; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 
<input class="hidden_img" type="file" name="imagefile" id="photo"/> 
 
<img src="images/btn.jpg" width="148" height="60" alt="btn" id="profile-image">

+0

Ma il vostro stesso codice ** [qui] (http://jsfiddle.net/Guruprasad_Rao/Loc11fzh/) ** funziona bene !!! –

+1

Funziona bene, puoi dare un'occhiata a "[http://jsfiddle.net/prateeksarve/x9z8qgqk/][1]" – syms

+0

Sì, funziona bene. – parveen

risposta

1

controlli prego sotto soluzione, funziona benissimo;

$(document).ready(function() { 
 
    $('#profile-image').on('click', function() { 
 
    $('#photo').click(); // opens up the file dialog for selection of image 
 
    }); 
 
}); 
 

 
$("#photo").on('change',function() { 
 
    alert($(this).val()) 
 
});
#photo{ 
 
    display:none; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 
<input class="hidden_img" type="file" name="imagefile" id="photo" /> 
 
<img src="http://placehold.it/148X60" width="148" height="60" alt="btn" id="profile-image">

+1

Dire "quello che hai già funziona" dovrebbe essere un commento, non una risposta. Se l'OP sta avendo problemi con il loro codice, allora ci deve essere un problema altrove, il che significa che questo non aiuterà. –

+0

@RoryMcCrossan Questo è probabilmente il mio cattivo, lo snippet che ho postato nella domanda non era rappresentativo del problema dell'OP, quindi questa risposta ha aggiunto i necessari requisiti CSS e jQuery per mostrare come dovrebbe funzionare – CodingIntrigue

Problemi correlati