IE:链接点击的javascript函数调用不起作用

时间:2013-08-05 16:22:13

标签: javascript jquery valums-file-uploader

我有一个Javascript函数

function changeDocument(idxpv, open){
    if(open)
        $("#Upload"+idxpv + " input[type=file]").click();
}

和一个链接

<a href="javascript:changeDocument(1,true);" class="close fileupload-exists" 
   data-dismiss="fileupload">change document</a>

现在,点击IE9 / 8链接会显示提示框,询问LEAVE THE PAGESTAY ON PAGE

  

修改

文件上传按钮是从Valum的qqFileuploader库生成的。

有人可以指导我这是错的吗?

1 个答案:

答案 0 :(得分:1)

由于$("#Upload1 input[type=file]").click();未定义,因此未执行对open的调用。

我在此文档中复制了您的代码:

  • 点击该链接会调用函数changeDocument()
  • 但由于未定义open,因此不会触发click事件

如果您将调用更改为此javascript:changeDocument(1, true);,则会触发点击并调用文件打开对话框。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>html 5</title>   
    <script src="../jQuery/jquery_1.9.1.js"></script>
    <script>
        function changeDocument(idxpv, open){
        console.log("idxpv", idxpv);
        console.log("open", open);
        if(open)
            $("#Upload"+idxpv + " input[type=file]").click();
    }

    </script>
  </head>
  <body>
    <p>
    <a href="javascript:changeDocument(1, true);" class="close fileupload-exists" 
                data-dismiss="fileupload">change document</a>
    </p>                
    <p id="Upload1">    
    input type=file: <input type="file">                
   </p>
  </body>
</html>

如果您有更多问题,请随时提出。