使用javascript弹出阻止上传窗口

时间:2013-10-26 20:59:48

标签: javascript jquery html upload

如果仅输入输入值,则用户应该能够上传文件。但是,只要我点击按钮,就会弹出上传文件的窗口。我不希望它弹出,除非用户输入了输入文件中的值如下所述。 这些是输入:

<input type="text" id="id" placeholder="Enter Audit ID" autocomplete="off">
<input type="text" id="email_id_upload"  placeholder="Enter Email_id " autocomplete="off">

这是上传者:

<form>
    <input type="file" name="file" id="file"><br>
    <input type="button" name="submit_file" value="Submit">
</form>

这是Js检查用户是否输入了所有值:

   $('#file').click(function(){

        var email_id_upload= $('#email_id_upload').val();
      var id =  $('#id').val();
        if(email_id_upload.length !==0 &&  id.lenght !==0)
        {
        //allow upload window to pop up

         }
        else
            {
                if(email_id_upload.length ===0 && id.length ===0)
                {$('#message_content2_1').html("<span style='color:red'>Please fill email id and audit id</span>");}
                else{
                if(email_id_upload.length ===0)
                {$('#message_content2_1').html("<span style='color:red'>Please fill email id</span>");}
                if(id.length ===0)
                {$('#message_content2_1').html("<span style='color:red'>Please fill email id and audit id</span>");}
                }
            }
    });

2 个答案:

答案 0 :(得分:1)

你发布JS的方式,它实际上适合我。 if条件中有一个拼写错误:id.lenght。一般来说,仅仅绑定到click事件并不是一个好主意,因为有人可能也会触发,例如提交事件,在表单字段中按Enter键。

在您的示例中,当两个字段都为空并且有人单击#file元素时,将执行else块,并且click事件会冒泡到#file元素的容器。要停止事件冒泡,请在else块结束时返回false。

答案 1 :(得分:1)

我,只是纠正你的脚本。认为它会起作用:

$('#file').click(function(e){

    var email_id_upload= $('#email_id_upload').val();
  var id =  $('#id').val();
    if(email_id_upload.length !==0 &&  id.lenght !==0)
    {
    //allow upload window to pop up

     }
    else
        {
            e.preventDefault();
            if(email_id_upload.length ===0 && id.length ===0)
            {$('#message_content2_1').html("<span style='color:red'>Please fill email id and audit id</span>");}
            else{
            if(email_id_upload.length ===0)
            {$('#message_content2_1').html("<span style='color:red'>Please fill email id</span>");}
            if(id.length ===0)
            {$('#message_content2_1').html("<span style='color:red'>Please fill email id and audit id</span>");}
            }
        }
});