2013-07-18 46 views
0

我想提出这是通过对话完成的形式,形式如下,卡住的jQuery提交表单对话框

<div id="changeProfileDialogSND" style="display:none;width: auto; min-height: 0px; height: 50px;" scrolltop="0" scrollleft="0"> 

<form id="uploadImageAttrForm" 
     action="/local/..."  
     enctype="multipart/form-data" method="post" style="padding-left: 10px"> 
     <h4>Upload your profile image:</h4><br/> 
     <br/>   
     <input id="imageUploadAttr" 
     size="40" name="image" type="file" /> 
     <br/> 
     <input type="submit" name="add" value="add" /> 

     <br/><br/>  
    </form> </div> 
<div id="changeProfileImage" style="width: 150px; height: 150px; background-color: rgb(0, 0, 0);">ChangeImage</div> 

我有以下函数来显示这种形式的对话,

$("#changeProfileImage").click(function() { 
    $("#changeProfileDialogSND").dialog("open"); 
     return false; 
}); 

$("#changeProfileDialogSND").dialog({ 
    autoOpen: false, 
    height: 240, 
    width: 440, 
    resizable: false, 
    modal: true 
}); 

现在的问题是这种形式显示在对话框中,并通过行动得到提交,这种形式基本上是上传图像到我的服务器,但我无法在相同或不同的对话框中显示结果,它转到该网址(行动)并提交文件,并显示纯白色背景和消息“文件上传苏CCESS”, 我希望它留在同一个对话框或同一页面上,并显示另一个对话框与这条消息, 任何早期帮助PLZ ...

回答

0

如果你是现代的浏览器支持的postMessage(IE8 +),后用户上传了文件,服务器可以返回一个页面,其中包含使用postMessage与其父文件进行通信的JavaScript代码并关闭对话框。

如果您想在同一页面上托管上传控件,<iframe>可以提供帮助。

您可以在http://html5demos.com/postmessage找到postMessage演示。

+0

即时通讯新手jquery,没有越来越多 - 在这个例子中,它提交了post请求(以及与文件上传场景) – user2408578