如何链接输入按钮显示:无行为与标签

时间:2017-07-26 12:22:40

标签: javascript html5

我想将输入display: none按钮链接到标签,这样当我点击标签时,它与我的隐藏输入按钮具有相同的行为。我怎么能这样做?

以下是我的HTML5代码:

<label for="model1" class="uploadFile">File...</label>
<input id="model1" type="file" name="model1" class="model1" style="display:none;" th:required="true"  />                

2 个答案:

答案 0 :(得分:2)

如果您希望labelclick event上触发input type=file,请使用:

$('.uploadFile').click(function() {
  $("#model1").unbind('click').bind('click');
})

我还添加了如何将文件名添加到标签:

$('#model1').change(function() {
 var filename = $(this).val().split('\\').pop();
 $('.uploadFile').text(filename)
})

&#13;
&#13;
$('.uploadFile').click(function() {
  $("#model1").unbind('click').bind('click');
})

$('#model1').change(function() {
 var filename = $(this).val().split('\\').pop();
 $('.uploadFile').text(filename)
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label for="model1" class="uploadFile">File...</label>
   <input id="model1"  type="file"    name="model1" class="model1"
style="display:none;" th:required="true"  />
&#13;
&#13;
&#13;

答案 1 :(得分:-1)

你可以使用javascript,并有类似的东西:

<label for="model1" class="uploadFile" onclick="handleClick()">File...</label>

然后定义一个handleclick()函数,该函数将处理您按下按钮时需要执行的操作。

handleclick()可能很简单:

$('#element').click();

$('#element').trigger('click');