Javascript在gridview的文本框中返回正确的时间格式
Javascript return correct time format in textbox contained in gridview
我试图在文本框中输入一个时间,如果它发现自己缺少:字符,就会自动更正。所以当用户退出文本框
时0100变成01:00它也包含在gridview中。
这是我尝试过的,但我没有得到任何事情发生。
function four_digit_clock()
{
var grdvw = document.getElementById('<%= grd_issue_am.ClientID %>');
for (var rowId = 1; rowId < grdvw.rows.length; rowId++) {
var txtbx = grdvw.rows[rowId].cells[0].children[0];
if (txtbx != "" || txtbx.length != 0 || txtbx != null) {
if (txtbx.length == 4) {
var clock = txtbx.value;
if (clock.substring(2, 1) != ':') {
txtbx.value = txtbx.value.substring(0, 2) + ':' + txtbx.substring(2, 2);
}
}
}
}
}
**html**
<asp:TextBox runat="server" ID="txt_grd_am_clock_in" onblur ="javascript: four_digit_clock();"/>
是我完全搞错了树,还是我只是错过了什么?
子字符串是这样工作的substring(startpos,endpos)
。请注意,endpos
与字符串长度不同!例如:a="1234"
使a.stringpos(1,3)
-> "23"
。
所以你的评论(clock.value.length-2,2)
还是错的。你可能指的是substring(clock.value.length-2, clock.value.length)
。
这也意味着你的clock.substring(2, 1);
是错误的。(它实际上是可逆的:clock.substring(1, 2);
是一样的!)你想要的是clock.substring(2, 3);
。(假设字符串像"15:30")。
让事情变得更简单。您可以使用this
关键字来定位文本框:我可能会这样做:
onblur="this.value=four_digit_clock(this.value);"
和
function four_digit_clock( val ){
if (val.length < 4 || val.substring(2,3) == ":" ) {
return val;
}
return val.substring(0, 2) + ':' + val.substring(2, 4);
}
我没有在c#上下文中尝试过,但是javascript可以工作。http://jsfiddle.net/mg4gwkmb/
相关文章:
- Json数据包含日期和时间格式
- 更改angularjs中的日期-时间格式
- 转换日期时间格式
- 在JavaScript中转换日期/时间格式
- 时间格式不适用于dateTimePicker
- 将时间格式更改为24小时格式
- 将某个时间格式转换为日期对象
- 自定义angularjs过滤器日期时间格式额外字符
- dygraph x轴中的时间格式
- 如何使用javascript在html中查找日期时间格式
- 日期时间格式增加了一个小时
- 如何将24小时的日期时间格式转换为12小时的格式
- angularjs中的自定义时间格式
- 时间戳日期&时间格式-应用程序脚本-设置日期和时间格式
- 如何使用moment.js将秒转换为时间格式(YYYY:MM:DD HH:MM:ss)
- 如何将 JSON.NET 日期时间格式转换为javascript日期和时间
- 从服务器获取并传递给浏览器以在 Javascript 中格式化的日期时间格式
- getHours() 时间格式为 2016-04-29T19:00:00
- 使用jQuery重写日期/时间格式
- 如何转换SalesForce Api提供的UTC日期格式,并使用Google Apps脚本将其转换为本地日期和时间格式