Javascript 检测用户输入的文本框的值
我有一个Javascript 检测用户输入的文本框的值,javascript,jquery,Javascript,Jquery,我有一个文本框,可以直接从键盘或鼠标点击输入值。如果从鼠标单击,则该值将从上一个值递增一。而我可以通过键盘输入任何值。我的问题是如何检测任何用户输入的文本框的值 假设通过键盘输入任何值,我需要重置为零 这是我到目前为止得到的 function AddTrackingItem() { var counter; $("#Item_Count").keyup(function (event) { if(event.which == 13) counter = 0;
文本框
,可以直接从键盘或鼠标点击输入值。如果从鼠标单击,则该值将从上一个值递增一。而我可以通过键盘输入任何值。我的问题是如何检测任何用户输入的文本框的值
假设通过键盘输入任何值,我需要重置为零
这是我到目前为止得到的
function AddTrackingItem()
{
var counter;
$("#Item_Count").keyup(function (event) {
if(event.which == 13)
counter = 0; // if value is enter from keyboard then reset value
else
{
counter = $("#Item_Count").val();
}
});
TIA我假设html看起来像这样:
<input type="text" id="item_count" value="0" />
<input type="button" id="btn" value="Increment"/>
编辑:只有两种输入数据的方式。一种是通过键盘。另一个在按钮旁边。这意味着,如果更改事件不是由按钮触发的,则100%的更改事件是通过键盘触发的。您可以稍微修改代码,以包含jQuery的.data(…)
()功能,并执行类似以下代码的操作。当改变输入时,它将重置输入,随后按下按钮
$('#btn').on( 'click', function() {
$('#item_count').val( function( i, oldval ) {
if( $(this).data( 'fromKeyboard' ) == 1 ) {
$(this).data('fromKeyboard', 0 );
return 1;
}
return (oldval*1) + 1;
} );
} );
$('#item_count').on( 'change', function() {
$(this).data( 'fromKeyboard', 1 );
} );
示例。我假设html看起来像这样:
<input type="text" id="item_count" value="0" />
<input type="button" id="btn" value="Increment"/>
编辑:只有两种输入数据的方式。一种是通过键盘。另一个在按钮旁边。这意味着,如果更改事件不是由按钮触发的,则100%的更改事件是通过键盘触发的。您可以稍微修改代码,以包含jQuery的.data(…)
()功能,并执行类似以下代码的操作。当改变输入时,它将重置输入,随后按下按钮
$('#btn').on( 'click', function() {
$('#item_count').val( function( i, oldval ) {
if( $(this).data( 'fromKeyboard' ) == 1 ) {
$(this).data('fromKeyboard', 0 );
return 1;
}
return (oldval*1) + 1;
} );
} );
$('#item_count').on( 'change', function() {
$(this).data( 'fromKeyboard', 1 );
} );
示例。如果您不希望用户在文本框中手动输入值,为什么不将其设置为只读? 不管怎样,如果你想做你坚持要做的事。下面是如何做到这一点
$("#btn").click(function(){
var currentVal = $("#item_count").val();
var counter = parseInt(currentVal) + 1;
$("#item_count").val(counter);
});
$("#item_count").keyup(function (event) {
$("#item_count").val("0");
});
请注意,我没有enterkey事件(13)的侦听器,因为我在keyup时将值更改为0。如果希望在enter键上将值更改为0,则可以执行代码中的操作。请记住将字符串转换为int,以便可以添加/增加值。执行.val()操作时,它返回的字符串不是int。希望这有帮助。如果您有任何问题,请告诉我。如果您不希望用户在文本框中手动输入值,为什么不将其设置为只读? 不管怎样,如果你想做你坚持要做的事。下面是如何做到这一点
$("#btn").click(function(){
var currentVal = $("#item_count").val();
var counter = parseInt(currentVal) + 1;
$("#item_count").val(counter);
});
$("#item_count").keyup(function (event) {
$("#item_count").val("0");
});
请注意,我没有enterkey事件(13)的侦听器,因为我在keyup时将值更改为0。如果希望在enter键上将值更改为0,则可以执行代码中的操作。请记住将字符串转换为int,以便可以添加/增加值。执行.val()操作时,它返回的字符串不是int。希望这有帮助。如果您有任何问题,请告诉我。我对您的问题有点困惑-您声明文本框接受用户输入的值,但后来您还想将键盘输入重置为0。。。你想用哪种方式?你用它做什么?为什么要用文本框来表示不应该编辑的内容?我有一个按钮,可以增加
textbox
中的值。如果单击按钮,我需要检查文本框中的值
值是从键盘还是按钮输入的。如果它是从键盘输入的,那么我必须重置为零。你的问题让我有点困惑-你说文本框接受用户输入的值,但后来你还想将键盘输入重置为0。。。你想用哪种方式?你用它做什么?为什么要用文本框来表示不应该编辑的内容?我有一个按钮,可以增加textbox
中的值。如果单击按钮,我需要检查文本框中的值
值是从键盘还是按钮输入的。若它是从键盘输入的,那个么我必须重置为零。谢谢你们的帮助,但这不是我想要做的。我想知道文本框中的值是否是从键盘输入的。@Lakhae not enter by button=>enter by keyboard谢谢您的帮助,但这不是我想要做的。我试图知道文本框中的值是否是从键盘输入的。@Lakhae not enter by button=>enter by keyboard