我有一个 HTML 输入按钮,它在单击时提交一个 PHP 表单。代码如下:
<input class="rg_btn" name="submit" value="Register" type="submit" />
但是,当用户单击该按钮时,我希望它在页面中间显示加载图像 3 秒(我有 gif 文件),然后我希望表单实际处理。
我该怎么做?
就像点击立即购买时http://www.mega.co.nz/#pro所做的一样
我有一个 HTML 输入按钮,它在单击时提交一个 PHP 表单。代码如下:
<input class="rg_btn" name="submit" value="Register" type="submit" />
但是,当用户单击该按钮时,我希望它在页面中间显示加载图像 3 秒(我有 gif 文件),然后我希望表单实际处理。
我该怎么做?
就像点击立即购买时http://www.mega.co.nz/#pro所做的一样
首先将图像添加到您的 html 并使用 CSS 将其隐藏:
<img src="3sec.gif" id="gif" style="display: none;">
然后,使用 jQuery:
$('.rg_btn').submit(function() {
$('#gif').show();
return true;
});
如果您还没有 jQuery,也不要忘记在标题标签之间包含它:
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<input class="rg_btn" name="submit" value="Register" type="submit" onclick='btnClick' />
function btnClick() {
var Gif = document.createElement('div');
Gif.className = "?";
Gif.innerHTML = "<img src='some_img' />";
document.appendChild(Gif);
setTimeout("btnClickfade()", 3000);
}
function btnClickfade() {
document.removeChild(document.getElementByClassName("?"));
}
您可以执行以下操作 -
第 1 步:不要创建提交按钮,而是创建一个标准按钮 第 2 步:当用户单击 taht 按钮时,调用一个函数,将其命名为 submitme
第 3 步:
在 Javascript 中: function submitme() { //显示图像所需时间的代码 //隐藏图像并提交表单 }
为此,您必须创建一个触发 onclick 按钮的函数,该函数使用event.preventDefault(); 取消默认行为(提交表单);之后,您将设置基本上附加一个 div 到正文,居中加载 gif(通过 CSS)将显示 3 秒,您也可以预先插入 DIV,这样您就不必再附加它了。
有几件事我不明白,从你的问题我可以读到你想显示一个加载 gif 3 秒,这非常长,只有在那之后你才真正想要开始处理表单。
对于这种情况,我强烈建议使用 AJAX 透明地处理您的请求,例如不重新加载页面,提交时不延迟 3 秒。
如果用户禁用了 JS,您可以使用 PHP 回退,表单会立即提交(用户不会希望等待 3 秒相信我)
这可能是最用户友好的方式,如果您对如何使用纯 JS 实现 AJAX 请求有疑问,请评论此问题,我将根据您的需要对其进行编辑。
- 席德