ASP.Net MVC Javascript键盘不工作
我的虚拟键盘正在工作,但当我在窗体中添加按钮而不是Div时,它停止了工作 这是我的javascript代码:ASP.Net MVC Javascript键盘不工作,javascript,jquery,asp.net,asp.net-mvc,Javascript,Jquery,Asp.net,Asp.net Mvc,我的虚拟键盘正在工作,但当我在窗体中添加按钮而不是Div时,它停止了工作 这是我的javascript代码: $(document).ready(function () { function input(e) { //var u = document.rateformular;// duplicated with f and not used var f = document.rateformular;
$(document).ready(function () {
function input(e) {
//var u = document.rateformular;// duplicated with f and not used
var f = document.rateformular;
var b = f.elements["ratezeichen"];
var zeichen = b.value;
zeichen.value = zeichen.value + e.value
}
<div class="cities">
<input id="btn1" type="button" value="a" class="btn btn-default" onclick="input(this);" />
</div>
该按钮有以下内容:
$(document).ready(function () {
function input(e) {
//var u = document.rateformular;// duplicated with f and not used
var f = document.rateformular;
var b = f.elements["ratezeichen"];
var zeichen = b.value;
zeichen.value = zeichen.value + e.value
}
<div class="cities">
<input id="btn1" type="button" value="a" class="btn btn-default" onclick="input(this);" />
</div>
您的输入函数必须在全局范围内声明
- 外部
$(文档).ready(函数(){…
- 直接连接到全局对象
window.input=函数(e){…
- 这就是我为解决问题所做的
function input(e) {
var f = document.rateformular;
var b = f.elements["ratezeichen"];
if (b.value == 0) {
b.value = b.value + e.value;
}
else {
}
主要的问题是在范围内,然后我不得不在代码中做一些更改。
谢谢你
if cicle是为了防止用户输入2个字母,他们只能输入1个字母,这是文本框的最大长度,它是我的应用程序的一部分。将函数
input
移动到文档就绪处理程序之外。该函数应在全局范围内,用作内联事件处理程序onclick=“input(this);”
可以很好地工作,问题是它没有在全局范围中定义。事件处理程序的第一个参数应该是事件对象,而不是dom元素。使用e.target或this关键字更好。事件处理程序的第一个参数应该是事件对象,而不是dom元素。这在使用jquery事件绑定或vanilla jsaddEventListener时是正确的de>methode值如下所示undefined@PauloMartins,坚持到onclick=“输入(此);”