它本身很好,但当我把它放在我的其他形式时就会爆炸
works fine by itself, but blows-up when I put it in the rest of my form
我破解了一个秒表脚本,使其在HTML表单的几次迭代中可用。它使用id标记来识别我按下了哪个按钮来启动、结束和重置计时器,将当前时间发布到这些字段,并在第三个字段中运行秒表。原因是,将通过表格跟踪12个重要制造过程的开始/结束/持续时间。
我在一个"独立"HTML文件的上下文中写了这篇文章,以测试其可行性,它运行得很好。。。然而当我将代码粘贴到我的表单中(表单太大,无法在此处发布)并点击"开始"按钮时,我会将文本发布到"秒表"字段,然后刷新页面。
下面是我可以阅读的发布到我的字段中的大部分文本(如果需要,我会扩展字段以捕获更多文本),以及使用我编写的javascript代码的HTML。
已发布文本:函数小时(serial_number){if(!isFinite(serial_number))return….
我整理的代码:
<html>
<head>
<script type="text/javascript">
var sec = 0;
var mins = 0;
var hour = 0;
function duration(ctrlID){
ctrlbtnID=(ctrlID)
var cbtnVal=document.getElementById(ctrlbtnID).value;
if(cbtnVal=='Begin'){
document.getElementById(ctrlbtnID).value='End';
var currentTime = new Date()
var hours = currentTime.getHours()
var minutes = currentTime.getMinutes()
var seconds = currentTime.getSeconds()
if (minutes < 10) {minutes = "0" + minutes}
if (seconds < 10) {seconds = "0" + seconds}
bTime= hours + ":" + minutes + ":" + seconds + " "
document.getElementById(ctrlbtnID+"Start").value = bTime
} //end of if block
else if(cbtnVal=='End'){
document.getElementById(ctrlbtnID).value='Begin';
var currentTime = new Date()
var hours = currentTime.getHours()
var minutes = currentTime.getMinutes()
var seconds = currentTime.getSeconds()
if (minutes < 10) {minutes = "0" + minutes}
if (seconds < 10) {seconds = "0" + seconds}
eTime= hours + ":" + minutes + ":" + seconds + " "
document.getElementById(ctrlbtnID+"End").value = eTime
}
stopwatch();
}
function stopwatch(){
var x=document.getElementById(ctrlbtnID).value;
if (x=='End'){
sec++;
if (sec == 60) {
sec = 0;
mins = mins + 1;
}
else {
mins = mins;
}
if (mins == 60) {
mins = 0;
hour += 1;
}
if (sec<=9) {
sec = "0" + sec;
}
var swTime=document.getElementById(ctrlbtnID+"Dur");
swTime.value= ((hour<=9) ? "0"+hour : hour) + " : " + ((mins<=9) ? "0" + mins : mins) + " : " + sec;
SD=window.setTimeout("stopwatch();", 1000);
}
}
function reset(){
var swTime=document.getElementById(ctrlbtnID+"Dur");
sec = 0;
mins = 0;
hour = 0;
swTime.value='00 : 00 : 00';
document.getElementById(ctrlbtnID+"Start").value ='00 : 00 : 00';
document.getElementById(ctrlbtnID+"End").value ='00 : 00 : 00';
}
</script>
</head>
<body>
<input type="button" value="Begin" id="1_1" onClick="duration(this.id)"/>
<input type="button" value="Reset" id="reset" onClick="reset()"/>
<input type="text" value="00 : 00 : 00" id="1_1Dur"/>
<input type="text" value="00 : 00 : 00" id="1_1Start"/>
<input type="text" value="00 : 00 : 00" id="1_1End"/>
</body>
</html>
几天前,我在这里发布了我的第一个问题,我也解决了自己的问题,但我希望我能得到更好的回应。。。我已经搜索了大约两天我能找到的所有在线资源,但什么都没找到。
求你了,我需要一些帮助。
感谢
很明显,您在某个地方有一个hour(serial_number)
函数,覆盖您的全局小时变量。因此,请重命名函数或变量。
至于"reset()"函数,请告诉我们它是否被调用,或者它是否抛出错误,以及是哪一个。
好吧,如果没有部分有问题的表单,我认为我们在这里帮不了你多少忙。我可以确认代码是一个独立的HTML文件,但我不知道打印的文本来自哪里(在你提供的代码中找不到)。
检查您的document.getElementById(problemFormId)
呼叫。。。您可能在没有意识到的情况下将字段设置为文本变量。
- 如何将我的javascript库公开给其他客户端使用
- 为什么不'我的窗口滚动事件根本没有启动.其他答案没有解决问题
- 我的时间倒计时脚本在谷歌浏览器中工作正常,但在其他浏览器中打开时它显示为南楠
- onbeforeunload事件在我的代码中没有触发,但其他示例可以工作
- 如何使用其他 JavaScript 文件中的新类访问我的 createjs 导出的 js 文件
- 如何在其他样式中控制我的
样式
- 为什么只有最新的按钮才能工作?我发现其他按钮的点击函数为空
- 我想重新排列我的数组和其他数组一样,这个数组是键和值
- 使用 jquery 在我的网站中加载其他网页不起作用
- 我该如何在允许用户导航到其他页面的同时,使用strophe保持聊天会话的打开
- 将我的IE访问者重定向到其他页面
- '其他'在我的if/else语句中,从来没有发生过——有人能解释为什么吗
- 如果从我的网站在浏览器中安装了其他程序,如何在移动应用程序中打开共享对话框
- 如何从其他网页获取图像并在我的网站上显示
- Fancybox图像点击可以独立工作,但不能与我的其他代码一起工作
- 当其他函数调用Javascript时运行我的代码
- history.go(-1)没有加载我的其他函数
- 为什么不't我的Javascript,如果其他方法有效的话
- 当我使用 AngularJS 单击其他地方的元素时,如何更改元素上的类
- 这很难简明扼要地说.但是我的 if/else javascript 有问题.“如果”在“其他”发生之后不会发生