Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery.on(';change';,function(){}未在asp.net文件上载控件上触发_Javascript_Jquery_Asp.net - Fatal编程技术网

Javascript jQuery.on(';change';,function(){}未在asp.net文件上载控件上触发

Javascript jQuery.on(';change';,function(){}未在asp.net文件上载控件上触发,javascript,jquery,asp.net,Javascript,Jquery,Asp.net,我在我的aspx页面上有一个Fileupload控件和一个img标记,在这里我可以上传图像并显示在img标记中 <asp:FileUpload ID="f_UploadImage" runat="server" /> <br /> <img id="myUploadedImg" alt="Photo" style="width: 180px;" /> 直接绑定事件,它应该可以工作:- $("#btn_upload").on('click', func

我在我的aspx页面上有一个Fileupload控件和一个img标记,在这里我可以上传图像并显示在img标记中

<asp:FileUpload ID="f_UploadImage" runat="server" />
    <br />
<img id="myUploadedImg" alt="Photo" style="width: 180px;" />
直接绑定事件,它应该可以工作:-

$("#btn_upload").on('click', function () {
        $('#f_UploadImage').trigger('click');
    });

    $("#f_UploadImage").on('change', 'input', function () {
        var file, img;
        if ((file = this.files[0])) {
            img = new Image();
            img.onload = function () {
                sendFile(file);
            };
            img.onerror = function () {
                alert("Not a valid file:" + file.type);
            };
            img.src = _URL.createObjectURL(file);
        }
});
我已经验证了这一点,对我来说效果很好

我的代码:

$("#f_UploadImage").change(function () {
更新:

根据您的输入,您的代码在
表单
标记中不起作用,因为默认情况下
按钮
控件的类型为
提交
,因此在您的情况下,它正在将表单发回服务器,或者在其他情况下,正在发生回发,而您的客户端代码不起作用。因此,要防止在现有代码中出现这种情况,您可以使用se
preventDefault
如下所示:-

$(document).ready(function () {
    $("input#fuTest").change(function () {
        alert(1);
     });

     $("#btnTest").click(function () {
        $("#fuTest").trigger("click");
     });
});
\或\

您可以将按钮类型设置为button,这样它就不会将表单发布到服务器:-

$("#btnUpload").click(function (e) {
     e.preventDefault();
     $("#fuImage").trigger("click");
});
上传图像

现在我把html标签放在标签外面,这样它就工作得很完美了。你能告诉我为什么它在表单标签外面工作吗?如果我在服务器端上传文件,我需要表单标签里面的所有控件。不,我还没有创建任何母版页。我正在使用单个aspx页面。这是我的快照,希望这能描述我的问题详细@匿名-嘿,检查我的更新,如果有任何问题,请告诉我。
$(document).ready(function () {
    $("input#fuTest").change(function () {
        alert(1);
     });

     $("#btnTest").click(function () {
        $("#fuTest").trigger("click");
     });
});
$("#btnUpload").click(function (e) {
     e.preventDefault();
     $("#fuImage").trigger("click");
});
 <button type="button" id="btnUpload">Upload Image</button>