这是我的代码。
HTML
<form id="add_new_video" method="post" class="appnitro" style="margin-left:70px;" action="<?php echo base_url()?>videos/save">
<input type="text" name="name">
<button type="submit" class="dark_text_link" disabled id="submit" href="javascript:void(0);" onclick="return addVideo();">Add New Video</button>
</form>
JS就是
function addVideo() {
//disables the onclick event of the element for 1 seconds
document.getElementById('submit').disabled = true;
setTimeout(function(){document.getElementById('submit').disabled = false;},1000);
document.getElementById('add_new_video').submit();
}
当我单击“提交”按钮时,该按钮会被禁用一秒钟并重新显示,但表单未提交。我仍然是javascript的新手所以可能会有一些我忽略的事情。有什么想法吗?
答案 0 :(得分:2)
有几件事
像这样:
<form id="add_new_video" method="post" class="appnitro" style="margin-left:70px;" action="<?php echo base_url()?>videos/save">
<input type="text" name="name">
<button type="submit" id="buttonSub" class="dark_text_link">Add New Video</button>
</form>
使用
window.onload=function() {
document.getElementById("add_new_video").onsubmit=function() {
document.getElementById('buttonSub').disabled = true;
setTimeout(function(){document.getElementById('buttonSub').disabled = false;},1000);
}
}
由于您提交到同一页面,因此您实际上不需要再次启用表单按钮。页面重新加载时将启用该按钮 - 如果您将表单定位到其他地方
,这当然不是真的答案 1 :(得分:1)
用此标记元素替换按钮。
<input type="submit" class="dark_text_link" disabled id="btnsubmit" href="javascript:void(0);" onclick="return addVideo();"/>