我有一个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,请不要忘记在标题标签之间包含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("?"));
}
你可以
做如下的事情-
STep 1:不要创建提交按钮,而是创建标准按钮第 2 步:当用户单击该按钮时,调用一个函数,将其命名为提交我
第3集:
在Javascript中: 函数提交我() { 用于在所需时间内显示图像的 CODE 隐藏图像并提交表单 }
为此,
您必须创建一个函数,该函数在单击按钮时触发,该按钮使用 event.preventDefault() 取消默认行为(提交表单);之后,您将设置基本上将div 附加到正文,并带有居中加载 GIF(通过 CSS)这将显示 3 秒钟,您还可以预先插入 DIV,这样您就不必再附加它了。
有一些事情我不明白,从你的问题中我可以读到你想显示一个加载 gif 3 秒,这太长了,只有在那之后你才真正想开始处理表单。
对于这种情况,我强烈建议使用 AJAX 透明地处理您的请求,例如没有页面重新加载,提交没有 3 秒延迟。
如果用户禁用了JS,您可以使用PHP回退,表单将立即提交(用户不会想等待3秒钟相信我)
这可能是最用户友好的方式,如果您对如何使用纯 JS 实现 AJAX 请求有疑问,请评论这个问题,我将根据您的需要进行编辑。
和破折号; 席德