2012-07-09 74 views
0

我想在每次回发时显示弹出式jquery样式,例如说Loading ...我不知道如何实现,也不知道哪些tecnology使用。我想把代码放在超类上,这样我只需要编写一次代码。原则上,当我按下提交按钮时,页面会隐藏自身。 希望你能帮助我。提交时显示progess栏对话框

编辑: 它应该是这样的。我有一个页面,我打开一个jQuery对话框,上面有一个iframe和一个提交按钮。当我提交表单时,与表单的对话框必须隐藏,并且一个新的对话框显示正在加载......必须出现;当操作完成时,此对话框必须隐藏。

+0

当您使用Ajax发回帖子,或者回复并等待下一页时? – Aristos 2012-07-09 09:17:02

+0

只是说,正在加载...或发送...并等待下一页。我按下按钮的页面必须隐藏。 – anmarti 2012-07-09 10:14:06

回答

1

你可以做到这一点使用上你页面的form作为onsubmit触发:

<form id="form1" runat="server" onsubmit="return disableForm(this);"> 
... 
</form> 
于JavaScript

的是我做的是,在第一次提交点击我让提交,并关闭/打开我喜欢的对话框。如果用户点击两次提交,我会向他显示一条消息并停止第二次提交。

var submitted = false; 
function disableForm(theform) { 
     if (true == submitted) { 
      alert("form already submitted... please wait..."); 
      return false; 
     } 
     else {    
      // here you close the dialog, open an other 
      submitted = true; 
      return true; 
     } 
} 

我不能写怎么关闭打开的对话框,因为你没有给任何线索/代码这件事,但我认为这将是容易的。

0

假设您正在使用updatepanels。你需要这样一个和图像“LoadingImage”

<script type="text/javascript" language="javascript"> 
     Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(beginRequestHandle); 
      Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endRequestHandle); 
      function beginRequestHandle(sender, Args) { 
    document.getElementById("LoadingImage").style.visibility = "visible"; 

      //Do something when call begins. 
      } 

    function endRequestHandle(sender, Args) { 
    document.getElementById("LoadingImage").style.visibility = "hidden"; 
    } 
      </script> 

它所做的是它显示的图像时,Ajax调用启动和隐藏它完成时的处理程序。你可以为你的目的使用动画GIF。

+0

这只在UpdatePanel上完成(没有看到关键字的问题),以及为什么要手动? UpdatePanell上有UpdateProgress – Aristos 2012-07-09 09:31:38

+0

是的,但他们从来没有发现一个工作正常,OP需要类似“加载”的东西,他也必须在UpdatePanel中使用UpdatePanel。 – 2012-07-09 09:34:07

+0

由于我有没有ajax代码的asp.net我需要做到没有ajax。 – anmarti 2012-07-09 10:12:41