- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 ASP:Repeater
中有这个 htmlInput
,我想将其格式化为时间格式(例如:13:39
)它的按键
。到目前为止,我在转发器数据绑定(bind)中有这段代码:
Protected Sub rpt_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.RepeaterItemEventArgs) Handles rpt.ItemDataBound
If e.Item.ItemType = ListItemType.Item OrElse e.Item.ItemType = ListItemType.AlternatingItem Then
Dim txt As HtmlInputText = DirectCast(e.Item.FindControl("txtKmRun"), HtmlInputText)
If txt IsNot Nothing Then
txt.Attributes.Add("onkeypress", "return kmRun('" & txt.Value & "');")
End If
End If
End Sub
..这是在 JavaScript 中:
<script>
function kmRun(myValue) {
String x = myValue;
x = x.substring(0, 2) + ":" + x.substring(2, x.length());
alert(x); //alert to test display but is not working
//HOW TO PASS x VALUE TO BACK TO THE TEXTBOX?
}
</script>
用一个简单的 javascript 测试了 onkeypress
属性警报消息并且它有效但是当通过值传递进行修改时,没有返回值。所以我猜,错误从那里开始。
另一个问题是当 javascript部分有效,如何将“转换后的”字符串值返回给 htmlInput
?对于此问题,是否还有其他不使用 PostBack
的解决方案?
谢谢。
===================
这是工作代码:
Protected Sub rpt_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.RepeaterItemEventArgs) Handles rpt.ItemDataBound
If e.Item.ItemType = ListItemType.Item OrElse e.Item.ItemType = ListItemType.AlternatingItem Then
Dim txt As HtmlInputText = DirectCast(e.Item.FindControl("txtKmRun"), HtmlInputText)
If txt IsNot Nothing Then
txt.Attributes.Add("onkeypress", "return kmRun(this);")
End If
End If
End Sub
<script>
function kmRun(x) {
if (x.value.length > 2) {
x.value = x.value.substring(0, 2) + ":" + x.value.substring(2, x.value.length);
}
}
</script>
最佳答案
你不需要声明另一个变量,你可以使用myValue
参数。
我建议使用 onchange="kmRun(this)"
而不是 onkeypress="kmRun(this)"
,因为您必须更改内容,以最终被代码格式化。
通过this
,您可以获得textBox控件的所有属性。
你可以在你的 javascript 代码中尝试这样的事情:
function kmRun(control) {
control.value = control.value.substring(0, 2) + ":" + control.value.substring(2, control.value.length);
}
<input id="txt" type="text" onchange="kmRun(this)" value="" />
关于javascript - 使用 javascript 在 HTMLInput 的字符串上添加一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32982469/
这是我的一个老疑惑,今天又浮出水面。 来自 ASP.NET 背景的我很惊讶地看到这个片段 这是我第一次看到类似为 name 赋值的数组我知道这段代码运行。 我的疑问是, 这个标记有效吗? name
我在 ASP:Repeater 中有这个 htmlInput,我想将其格式化为时间格式(例如:13:39)它的按键。到目前为止,我在转发器数据绑定(bind)中有这段代码: Protected Sub
我有一个继承自 HTMLInputElement 的自定义输入框: class TB extends HTMLInputElement { static get observedAttribute
我设法从 foreach 内部检索动态元素 ID 并以这种方式将其发送到 Controller : @using (Html.BeginForm("DeleteConfirmed", "Gif
我是一名优秀的程序员,十分优秀!