通过单击输入类型 - 文件上的输入键来禁用表单提交

时间:2014-02-13 02:53:56

标签: jquery forms jsp enter

我想通过点击输入类型=文件上的输入键来阻止表单提交。我搜索了jquery脚本来做它。输入类型=文本是可以的,但是如果在输入类型文件上点击,则在注销后显示登录页面。我正在使用jsp和jquery。还有我的浏览器是IE9 。我的代码中有什么问题吗?

jquery:

$(function(){
    $(window).keydown(function(event){
        if(event.keyCode == 13) {
            event.preventDefault();
            //$('#fil_CsvImp_refer').click();
            return false;
        }
    });
    $("input[type=text]").keypress(function(ev) {
        if ((ev.which && ev.which === 13) ||
            (ev.keyCode && ev.keyCode === 13)) {
            return false;
        } else {
            return true;
        }
    });
    $("input[type=file]").keypress(function(ev) {
        if ((ev.which && ev.which === 13) ||
            (ev.keyCode && ev.keyCode === 13)) {
            return false;
        } else {
            return true;
        }
    });
});

jsp:

<s:form action="" method="POST" name="frm_CsvImp_import" id="frm_CsvImp_import"
enctype="multipart/form-data">
<s:file key="fil_CsvImp_refer" name="fil_CsvImp_refer" cssClass="mediuminput" accept=".csv" />
<input type="button" class="" value="submit"/>
</s:form>

2 个答案:

答案 0 :(得分:0)

我认为我没有清楚地理解你的问题

$(document).ready() {
$('input:file').keypress(function() {
  //your operations
});
}

(OR) 一旦尝试这个,希望它可以帮助你

$(function(){

$("#frm_CsvImp_import").on("change", "#INPUTTYPEID( or.CLASSNAME)", function(){

//do your operations
});

});

答案 1 :(得分:0)

它适用于我(在文件输入,firefox上的普通html,chrome(upToDAte)和jquery 1.11):

     $("input[type=file]").keypress(function(ev) {
               return false;
               //ev.preventDefault(); //works as well

     });

另请注意,不只是“输入”键触发浏览器对话框(条形空间也会这样做)。