0

ファイルが選択されている場合はh1div を表示し、それ以外の場合は非表示にします。たぶん、私はalert().

<script type="text/javascript">
 function foo() {
    var f = document.getElementById("f1");
    var h = document.getElementById("h1");
    alert( ""==f.value ? " f == nothing selected" : "f = file selected");
    alert( ""==h.value ? " h == nothing selected" : "h = file selected");
    if(alert( ""==f.value "f = file selected"){
        $('#h1').show();
    }else{
        $('#h1').hide();
    }
  }
</script>
<style type="text/css">
#h1{
    display:none;
}
</style>
<input id="f1" type="file">
<input id="h1" type="file">
4

2 に答える 2

1

最初のファイル入力でファイルが選択されているかどうかに基づいて、2 番目のファイル入力を表示および非表示にするには、次のようにします。

$('#f1').on('change', function() {
    $('#h1').toggle(this.value.length);
});

フィドル

于 2013-09-07T12:41:05.340 に答える
0

alert(anything)を返すundefinedので、 と言っても意味がありませんif(alert(anything)){。あなたの場合、単純な構文エラーが発生しましたが、括弧のバランスが取れておらず、内部alert()に 2 つのステートメントがあるためです""==f.value "f = file selected"

また、要素を選択するには、ではなくid="h1"セレクターが必要です。"#h1""h1"

これを試して:

if(""==f.value){
    $('#h1').show();
}else{
    $('#h1').hide();
}

デモ: http://jsfiddle.net/X49Pq/ (あなたの質問には、関数をいつどのように呼び出すかが記載されていないfoo()ため、私のデモでは、関連するコードを別の [テスト] ボタンから実行するだけですが、 f1 などの変更ハンドラ。)

于 2013-09-07T12:41:30.797 に答える