0

If file is selected show h1 div else hide it. Maybe I have gone absolutely the wrong way in terms of calling 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

要根据是否在第一个文件输入中选择文件来显示和隐藏第二个文件输入,您将执行以下操作:

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

小提琴

于 2013-09-07T12:41:05.340 回答
0

alert(anything)回报undefined,所以说真的没有意义if(alert(anything)){。在您的情况下,您只是遇到了一个简单的语法错误,因为您有不平衡的括号,并且在您的内部alert()有两个 statements ""==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 回答