2013-08-26 57 views
2

我已经看过StackOverflow上的一些类似示例,但我似乎无法得到此工作。我有去到一个功能的onclick事件,如果返回确定它进入另一个函数,如果是罚款会像else语句提交:如何在提交表单时隐藏表单并显示进度条

document.forms["input"].submit(); 

所以我想评论这一点,并发送它的功能称为showHide()

function showHide() { 
    $('#input').submit(function() { 
     $('#main-content').hide(); 
     $('#progress').show(); 
    }); 
} 

它似乎没有提交像预期的形式。我基本上想要使用bootstrap并显示一个动画进度条,以便用户知道发生了什么,因为有时提交可能需要一段时间。

更新:

我能得到这个既引导进度条和jQuery UI的进度条工作。我只是在提交表单之前运行进度条。我加载视图时隐藏div。

 $(function() { 

      $("#progress").show(); 
      }); 

     document.forms["input"].submit(); 

回答

0

document.forms是包含名称的形式不是的ID的对象。

如果您的表单没有输入的名称<form name="input">...</form>),则您绑定的jQuery选择器将不起作用。相反,您需要使用$('[name=input']).submit(...)

2

没有看到更多的HTML,这有点难以排除故障。但它看起来像你已经定义了一个函数,并且在这个函数中,你期望一个元素来触发它,这不会起作用。你可以从你的表单提交事件调用你的函数,像这样:

//this assumes you have a form with id "input" 
$('#input').submit(function() { 
    showHide(); 
}); 
function showHide() { 
    $('#main-content').hide(); 
    $('#progress').show();  
} 

简单JSFiddle demo

+0

我不知道我怎么能准确地实现这一点。我提交我的else语句是可能与jQuery的?例如,如果它到达我的else语句,那么它将提交表单。 – philfry

+0

你没有提到你的问题中有任何其他逻辑,所以我特意把它留下了。如果你的函数中有条件逻辑(比如表单字段验证),只要'返回true;'当所有条件都好时,否则'返回false;'以防止表单提交。 – beercodebeer

0

形式提交重载页面。

因此在你的脑袋部分添加:

$(window).load(function() { 
    // Animate loader off screen 
    console.log("loading"); 
    $("#dvLoading").fadeOut(2000); 
}); 
相关问题