Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么在我输入文本框时,字符会从文本框中删除?_Javascript_Jquery_Asp.net Mvc 4 - Fatal编程技术网

Javascript 为什么在我输入文本框时,字符会从文本框中删除?

Javascript 为什么在我输入文本框时,字符会从文本框中删除?,javascript,jquery,asp.net-mvc-4,Javascript,Jquery,Asp.net Mvc 4,我正在MVC视图上编写一个jQuery代码,以倒计时文本框中输入的字符。例如,如果文本框限制为100,而我键入“a”,那么我会在文本框下方收到一个通知,上面写着“99”,数字会随着我键入而递减。这对我的前两个文本框很好,但在第三个文本框中,当我键入时,字符被删除。下面是代码。你能给我指一下正确的方向吗?我做得不对的是什么 脚本: //项目名称的字符计数 函数countChar(val){ var len=val.value.length; var maxLength=document.get

我正在MVC视图上编写一个jQuery代码,以倒计时文本框中输入的字符。例如,如果文本框限制为100,而我键入“a”,那么我会在文本框下方收到一个通知,上面写着“99”,数字会随着我键入而递减。这对我的前两个文本框很好,但在第三个文本框中,当我键入时,字符被删除。下面是代码。你能给我指一下正确的方向吗?我做得不对的是什么

脚本:


//项目名称的字符计数
函数countChar(val){
var len=val.value.length;
var maxLength=document.getElementById(val.id).maxLength;
如果(len>=maxLength){
val.value=val.value.substring(0,maxLength);
}否则{
$(“#charNum”).text(maxLength-len);
}
};
//最近城镇的字符倒计时
最靠近城镇的功能(val){
var len=val.value.length;
var maxLength=document.getElementById(val.id).maxLength;
如果(len>=maxLength){
val.value=val.value.substring(0,maxLength);
}否则{
$(“#最近的城镇”).text(maxLength-len);
}
}
//用于描述的字符倒计时
功能描述CHARS(val){
var len=val.value.length;
var maxLength=document.getElementById(val.id).maxLength;
如果(len>=maxLength){
val.value=val.value.substring(0,maxLength);
}
否则{
$(“#descriptionCharNum”).text(maxLength-len);
}
}

首先,您不需要三个函数为您完成相同的工作。只需将要计算的元素的ID作为参数传递,就可以重用代码

这三个函数中的代码是相同的,因此您可能将第三个函数的值设置错误。在浏览器中按F12,转到控制台,查看是否出现一些错误

这一行是您的功能的关键

var maxLength = document.getElementById(val.id).maxLength;

检查输入的值是否正确,或者将其设置为最大长度,看看是否有效。

非常感谢费尔南多。不过有一个问题,在这种情况下,我如何重用代码并传递元素的ID?不客气!您可以在else上更改每个函数中作为参数获取的ID的硬编码ID。示例:$(“#descriptionCharNum”).text(maxLength-len)表示$(val.id).text(maxLength-len);更改此选项后,您将看到这三个函数将完全相同,因此,您可以在这三个位置上使用相同的函数。charCount是个好名字。