仅在选择文件时提交表单

时间:2013-12-09 12:32:02

标签: jquery file events submit

嘿,我正在检查"提交",如果选择了文件:

$(document).ready(function(){
  $("form").submit(function(){
    var fileName = $("#picture-field").val();

    if(fileName) { // returns true if the string is not empty
        alert(fileName + " was selected");
    } else { // no file was selected
        alert("no file selected");
    }
  });
});

如果没有选择任何文件,它会显示:"没有选择文件",但表格是笨拙的。

但我希望只有在选择文件时才能提交表单。

如果没有选择文件且用户按下"提交",例如显示:"请选择文件"。

3 个答案:

答案 0 :(得分:3)

仅在return false之后添加alert(),这将取消提交。

$(document).ready(function(){
  $("form").submit(function(){
    var fileName = $("#picture-field").val();

    if(fileName) { // returns true if the string is not empty
        alert(fileName + " was selected");
    } else { // no file was selected
        alert("no file selected");
        return false; //<---- Add this line.
    }
  });
});

答案 1 :(得分:0)

当您不想提交表单时,只需添加return false。这将停止点击事件传播。

$(document).ready(function(){
  $("form").submit(function(){
    var fileName = $("#picture-field").val();

    if(fileName) { // returns true if the string is not empty
        alert(fileName + " was selected");
    } else { // no file was selected
        alert("no file selected");
        return false;
    }
  });
});

答案 2 :(得分:0)

$(document).ready(function(){
  $("form").submit(function(){
    var fileName = $("#picture-field").val();

    if(fileName) { 
       alert(fileName + " was selected");
    } else { // no file was selected
       alert("no file selected");
       return false; 
    }
 });
});

只需使用return false