1

我有一个 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 库生成的。

有人可以指导我有什么问题吗?

4

1 回答 1

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>

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

于 2013-08-05T17:14:33.940 回答