当 javascript 文件上的计时器运行时,禁用单独 php 文件上的提交按钮
Disable submit button on a separate php file when timer runs down on javascript file
我有一个php表单和一个名为countdown的单独javascript文件.js它运行计时器到目标日期,然后显示一条消息,我尝试了各种事情来让提交按钮在完成后禁用。
这是我的表格
<form id="MakeBid" action="MakeBid.php" method="POST">
<input type="hidden" name="propertyID" value ="1"/>
<div>Bid Now <input type="text" name="pricesoldfor"/></div>
<input id = "submit" input type="submit" value="Submit" />
</form>
这是我的java代码
function calcage(secs, num1, num2) {
s = ((Math.floor(secs / num1)) % num2).toString();
if (LeadingZero && s.length < 2) s = "0" + s;
return "<b>" + s + "</b>";
}
function CountBack(secs) {
if (secs < 0) {
document.getElementById("cntdwn").innerHTML = FinishMessage;
return;
}
DisplayStr = DisplayFormat.replace(/%%D%%/g, calcage(secs, 86400, 100000));
DisplayStr = DisplayStr.replace(/%%H%%/g, calcage(secs, 3600, 24));
DisplayStr = DisplayStr.replace(/%%M%%/g, calcage(secs, 60, 60));
DisplayStr = DisplayStr.replace(/%%S%%/g, calcage(secs, 1, 60));
document.getElementById("cntdwn").innerHTML = DisplayStr;
if (CountActive) setTimeout("CountBack(" + (secs + CountStepper) + ")", SetTimeOutPeriod);
}
function putspan(backcolor, forecolor) {
document.write("<span id='cntdwn' style='background-color:" + backcolor + "; color:" + forecolor + "'></span>");
}
if (typeof(BackColor) == "undefined") BackColor = "white";
if (typeof(ForeColor) == "undefined") ForeColor = "black";
if (typeof(TargetDate) == "undefined") TargetDate = "12/31/2020 5:00 AM";
if (typeof(DisplayFormat) == "undefined") DisplayFormat = "%%D%% Days, %%H%% Hours, %%M%% Minutes, %%S%% Seconds.";
if (typeof(CountActive) == "undefined") CountActive = true;
if (typeof(FinishMessage) == "undefined") FinishMessage = "";
if (typeof(CountStepper) != "number") CountStepper = -1;
if (typeof(LeadingZero) == "undefined") LeadingZero = true;
CountStepper = Math.ceil(CountStepper);
if (CountStepper == 0) CountActive = false;
var SetTimeOutPeriod = (Math.abs(CountStepper) - 1) * 1000 + 990;
putspan(BackColor, ForeColor);
var dthen = new Date(TargetDate);
var dnow = new Date();
if (CountStepper > 0) ddiff = new Date(dnow - dthen);
else ddiff = new Date(dthen - dnow);
gsecs = Math.floor(ddiff.valueOf() / 1000);
CountBack(gsecs);
我预先假设您的计时器运行良好并且消息显示正确。
你尝试过使用 jQuery 吗?要禁用提交按钮,只需插入以下行:
$("input[type=submit]").attr("disabled", "disabled");
这是您想要实现的目标吗?
同样在下面,我粘贴了您解决类似问题的链接:
j查询禁用/启用提交按钮
编辑:
根据您的代码(并假设它正常工作),执行以下操作:
- 将 jQuery 添加到您的网站:http://jquery.com/
- 修改您的 CountBack 函数,添加我在
document.getElementById("cntdwn").innerHTML = FinishMessage;
之后和之前提供的代码return;
应该工作!
相关文章:
- 从单独的html文件预览Javascript文本
- 有什么“;错误的”;将javascript放在asp.net表单上,而不是放在单独的文件中
- jQueryAjax调用在单独的.js文件中不起作用
- Bootstrap CSS和JS我必须将它们包含在单独的文件中,或者可以编译它们
- 正在将Visual Studio 2012 JavaScript Intellisense标记移动到单独的文件
- 在 Node.JS 中,如何从单独的.js文件中返回整个对象
- google.setOnLoadCallback()在单独的JS文件中不起作用
- 单独的文件(HTML5、CSS和JS)
- Angular/Ionic:将所有文本保存在一个单独的文件中
- 将路由器配置放在Aurelia中的一个单独文件中
- 将另一个文件中的对象添加到单独文件中的阵列中
- 如何使用ngModel将自定义控件的提供程序扩展器分离到Angular 2中的单独文件中
- 在AJAX成功响应中执行Javascript代码(在单独的文件中)
- 使用AJAX在单独的文件中调用php函数
- 是否可以将此javascript代码(或其中的一部分)移动到单独的文件中,而不是内联
- JavaScript 无法从单独的文件工作
- 将 JavaScript 代码放在单独的文件中是行不通的
- 如何在单独的文件中调用函数 js.
- 如何在单独的文件中使用自定义Vtype,以便在EXT.JS中全局使用它们
- 用js调用php, js在get请求时停止,两个文件单独工作