2010-05-10 16 views
31

BenDosya Seç penceresinden bir dosya seçip kapattıktan sonra JavaScript işlevini nasıl çağırabilirim?

<input type="file" id="fileid"> 

nasıl iletişim penceresinden bir dosyayı seçip kapattıktan sonra bir JavaScript işlevi diyorsunuz bir dosya giriş elemanı var mı?

<script type="text/javascript"> 
    // this allows jquery to be called along with scriptaculous and YUI without any conflicts 
    // the only difference is all jquery functions should be called with $jQ instead of $ 
    // e.g. $jQ('#div_id').stuff instead of $('#div_id').stuff 
    $jQ = jQuery.noConflict(); 
</script> 

sonra: dosyanızın üstünde ilan

+1

bir dinamik çözüm olurdu: jQuery ("giriş [tür = Dosya]") değişim (fonksiyonu() {uyarı (jQuery (bu)() .val);}.); tüm dosya alanları için çalışacak i hayır –

cevap

30

jQuery("input#fileid").change(function() { 
    alert(jQuery(this).val()) 
}); 
+0

tamam onun bir dosyanın seçiminden sonra çalışmayan – coderex

+0

çalışacağız – coderex

+0

bir yazım hatası var http://geektasking.com/clients/stackoverflow/2805977/ –

0

deneyin

<script language="javascript"> 
$jQ(document).ready(function(){ 
    jQuery("input#fileid").change(function() { 
     alert(jQuery(this).val()); 
    }); 
}); 

(aynı <script> etiketinde hem koyabilirsiniz, ama sen yapabilirsin Örneğin, ebeveyn düzenindeki ilk parçayı belirtin ve jQuery'yi her çocuk düzeninde kullandığınızda $ jQ kullanın. Başka bir cevap açıklamalarda belirtildiği gibi) örneğin RoR ile

çalışırken eful, bu bir dosyayı seçmek SONRA sadece yangın ve açık tıklanır. Sadece tıklayın "Dosya seç" ve bir şey seçmezseniz size

<script type="text/javascript"> 
$(document).ready(function(){ 
    $("#fileid").on('change',function(){ 
     //do whatever you want 
    }); 
}); 
</script> 
7
<input type="file" id="fileid" > 

çalışmaz senin amaç elde edilebilir, ancak AFAIK böyle bir olay yok. Eğer 3 olay, ile işbirliği gerektiğini ulaşmak için Ama

i sadece dosya adına ilgili bilmeniz gereken varsayıyorum. Etrafa

  1. here yürüyüş yarattı Öncelikle sadece gerçek değişiklik meydana zaman, aynı dosyayı seçerek değişiklik olayı böylece iletişim kutusunu açmadan yapmak ve iptal tetiklemez ateş değişiklik olayı.
  2. Dosya seç butonuna tıkladıktan sonra dosya açıldığında, odak unsuru açılan giriş elemanı açılırken giriş elemanı kazanacaktır.
  3. Dosya iletişim kutusu açıldığında, giriş öğesi odağı yeniden kazanır.
  4. Bu nedenle, istemci tarafındaki istemci tarafı doğrulamasını kaybederek, giriş öğesinin kaybolmasını 'tekrar' odakladığınızda kullanabilirsiniz.
4
<script> 
     function example(){ 
       alert('success'); 
     } 
</script> 


<input type="file" id="field" onchange="example()" > 
+3

cevabınıza bazı ek bilgiler ekleyin lütfen. –

+0

Teşekkürler, bu benim için çalışıyor :) –

0

bence girişinin altındaki senaryoyu koyduğunuzda değişiklik işleyecektir

İlgili konular