Javascript 如何防止通过jquery在特定输入中输入0,并通过jquery显示错误div?

Javascript 如何防止通过jquery在特定输入中输入0,并通过jquery显示错误div?,javascript,jquery,html,Javascript,Jquery,Html,我试图阻止在一个特定的输入字段中输入一个值为0,并在输入字段中输入0时显示一个错误div,因此请您指导我,这将是仁慈的 我想使用jquery,请 以下字段的代码为: <input name="invoice_price" class="form-control"> HTML:- <input name="invoice_price" class="form-control"> <div id="div1" style="color:red"><

我试图阻止在一个特定的输入字段中输入一个值为0,并在输入字段中输入0时显示一个错误div,因此请您指导我,这将是仁慈的

我想使用jquery,请

以下字段的代码为:

 <input name="invoice_price"  class="form-control">

HTML:-

<input name="invoice_price"  class="form-control">

<div id="div1" style="color:red"></div>
小提琴连接:-


由于提问者在评论部分提出了另一个问题(该用户最多只能输入三位数),因此我在此处添加了更多代码:

 <input name="invoice_price"  class="form-control" type="text" maxlength="3">

HTML:

<input name="invoice_price"  class="form-control" 
    onblur="(this.value == 0) ? (this.value = '') : ''" />


这将确保用户不能输入零值。不需要显示错误

如果要堆叠错误消息,可以使用以下方法:

 $(document).ready(function(){
  $("input[name=invoice_price]").change(function(){
   if ($(this).val()==0)
    $(this).after("<div>Error message</div>");
  });
 });
$(文档).ready(函数(){
$(“输入[名称=发票价格]))。更改(函数(){
if($(this).val()==0)
$(此).after(“错误消息”);
});
});
每次更改输入并且输入错误时,它都会在输入元素之后立即创建错误消息。相反,您可能希望具有预定义的div,并且只更改其内容,如:

 <input name="invoice_price"  class="form-control">
 <div></div>
 $(document).ready(function(){
  $("input[name=invoice_price]").change(function(){
   if ($(this).val()==0)
    $(this).next().html("Error message");
  });
 });

$(文档).ready(函数(){
$(“输入[名称=发票价格]))。更改(函数(){
if($(this).val()==0)
$(this.next().html(“错误消息”);
});
});

准确地说,他的输入不是通过发票价格的
id
来识别的,它是元素的名称
属性
。@例外:你真是太好了..但是如果你能更新代码以防止人们输入像1234567这样的数字以外的其他数字@SalmanKhan…在这种情况下,更好的方法是使用正则表达式…而不是..@Exception:谢谢你的帮助,但你弄错了,请我想阻止用户在简单的..中输入0和字母。。!因此,他们只能输入值123456789等等@例外:很抱歉……这只是一个例子,因为我没有在那里写89。。!顾客:“哦,我的天哪,我想输入0.5,但我的键盘坏了”@Kyborek,好了!如果你的答案对你有用,你不需要更多的东西,请把答案标记为被接受,这样当你不再需要他们的帮助时,没有更多的人会来帮助你(你会浪费他们的时间):
 <input name="invoice_price"  class="form-control">
 <div></div>
 $(document).ready(function(){
  $("input[name=invoice_price]").change(function(){
   if ($(this).val()==0)
    $(this).next().html("Error message");
  });
 });