如何通过jQuery获得不可聚焦的输入表单控件

时间:2017-10-30 18:16:57

标签: javascript jquery html input

<form action="" method="post" enctype="multipart/form-data">
    <label class="btn btn-theme">
        <input type="file" name="file" value="" style="display:none;" required=""> click Me to choose file
    </label>
    <label class="btn btn-success">
        <input type="checkbox" name="checkbox" value="yes" style="display:none;" required=""> Are You agree ?
    </label>
    <br>
    <input type="submit" name="" value="Submit">
</form>

我想在用户未选择任何文件或不同意时显示提醒,并按我的给定代码中的“提交”按钮。  现在给它"An invalid form control with name='file' is not focusable."

我知道它背后的原因,但我怎么能提醒我的用户你没有选择任何东西 我不喜欢使用Jquery提交或显示他们选择文件图标。

有没有办法让这个元素(在jQuery的帮助下)试图关注哪个浏览器?

2 个答案:

答案 0 :(得分:0)

这个问题似乎很相似。你可以在表单中添加novalidate属性吗?这可以在这里看到:An invalid form control with name='' is not focusable     

答案 1 :(得分:0)

JQuery有一个焦点方法,可以做你想要的。

在某处创建一个变量,用于跟踪用户是否点击了输入。

var inputFocusOccured = false;

然后,只要用户点击或触摸输入,就使用焦点方法更改变量。

$("input").focus(function(){
    inputFocusOccured = true;
});

然后当用户点击提交时,检查该值是真还是假

$("#SubmitBtn").click(function() {
    if(inputFocusOccured === false){
        alert( "Handler for .click() called." );
    }
});