javascript - 回发时 HTML 输入值清除

标签 javascript html asp.net vb.net input

我创建了两个输入框,并设置了 JavaScript,以便在达到最大长度时自动聚焦下一个框。它工作正常。但是当触发任何回发事件时,这些值变得清晰。我将 runat="server"放在输入框上,然后输入值已解决明确的问题,但自动对焦脚本不起作用。请帮助我。

function movetoNext(current, nextFieldID) {
	if (current.value.length >= current.maxLength) {
		document.getElementById(nextFieldID).focus();
	}
} 
<input type="text" id="txtcard1" size="4" 
		onkeyup="movetoNext(this, 'txtcard2')" maxlength="4" />
		
<input type="text" id="txtcard2" size="4" 
		onkeyup="movetoNext(this, 'txtcard3')" maxlength="4"   /> 

最佳答案

根据您的问题详细信息,您似乎使用 ASP.net。

您必须添加 runat="server" 来维护控件状态,但同时当您添加 runat="server" 时,控件将在服务器上呈现并且控件的ID将会改变。

因此,在客户端脚本中使用控件时,您需要 ClientIDMode="Static" 标记。

例如:

<input type="text" id="txtcard2" size="4" 
        onkeyup="movetoNext(this, 'txtcard3')" maxlength="4"  ClientIDMode="Static" runat="server"  /> 

关于javascript - 回发时 HTML 输入值清除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52405549/

相关文章:

javascript - Video.js 响应式不适用于小屏幕

html - 正好在我的文本的 50% 处划线

javascript - 使用 Ajax,在 MVC 中提交时文本框不清除

javascript - 单击取消时如何将复选框设置为取消选中

mysql - VB.NET存储过程中的dbnull OUT参数

c# - 调整 GridView 编辑文本框大小

javascript - Discord.js 不收集用户的 DM

javascript - mapper_parsing_exception无法使用node.js解析elasicsearch中的错误

c# - 如何处理 Telerik RadGrid 中的空值(在列中)? (替换为 HTML)

javascript - 从提交查询中删除美元符号