2012-02-26 10 views
1

イム:http://jquery.malsup.com/form/#getting-started入力タイプ= "ファイル" のonchangeイベント、クロスブラウザのソリューション

<input type="file" id="foo" name="foo" /> 

私の問題は、jqueryの変更イベントが発生しませんということです。

$('#foo').change(function(){ 
    console.log('change'); 
}); 

Iveは成功することなくon('change', function(){ })メソッドも使用してみました。

何か助けていただければ幸いです。ありがとう

+0

ブラウザでは起動しませんか? [2133807](http://stackoverflow.com/questions/2133807/alternate-to-onchange-event-in-input-type-file)を見ましたか? – h0tw1r3

+0

私はfirefoxでテストをしました。 @Ktashプラグインと何か関係があると思います。 – Johan

+0

このプラグインでは何を達成していますか?最新のjQueryでは、(serializeのような)追加する機能の多くが標準です。また、私は私のコメントを削除したので、[テストケース](http://jsfiddle.net/NnMKg/)をもう一度。 – Ktash

答えて

0

をdosntとき、それはあなたの問題がバインディングの順であることを、私のためかもしれません動作します。

Hereは、私がテストに使用したjsFiddleです。私はこの解決策にプラグインをリンクしていると、変更イベントは、バインディングが.ajaxFormより前に行われた場合にのみトリガされるようです。

これで問題が解決しない場合は教えてください。

+0

実際には(ChromeとFF 9でテストされた)私にとっては(いずれにしても)(http://jsfiddle.net/NdVyJ/4/)でもフォームURLを修正する必要がありました。 – h0tw1r3

0

これを試してください。その悪いが.live使用する場合は知らないが、通常の方法が

$('#foo').live('change',function(){ 
    alert('change'); 
}); 
関連する問題