2016-10-25 41 views
0

我有一个文本框,应该只接受数字,因为此文本是用于滚动编号的。我的下面的代码服务于我的目的。仅包含数字的HTML文本

<html> 
<head><title>Sample Webpage</title></head> 
<body> 
<input type="text" name="roll_number" id="roll_number" value="25" placeholder="roll number" autocomplete="off" tabindex="1" maxlength="3" onkeypress='return event.charCode >= 48 && event.charCode <= 57'> 
</body> 
</html> 

但我在Firefox遇到问题。当我尝试使用BACKSPACE/DELETE删除卷号时,没有任何工作。它也不接受这些密钥。但是这在Chrome和IE中运行良好。应该是什么修复?

+1

使用'''',如你提到你想HTML文本只包含数字 –

+0

@DonaldWu - 数字类型也接受字母。在铬它接受“E”和在Firefox它接受所有的字符。 MaxLength也停止工作。 –

回答

1

甲快速的解决方案是同时检查如果按下的键是“退格”,这样就可以用这个修改您的代码:

<input type="text" name="roll_number" id="roll_number" value="25" placeholder="roll number" autocomplete="off" tabindex="1" maxlength="3" onkeypress='return (event.charCode >= 48 && event.charCode <= 57) || event.keyCode == 8'> 
+0

Keycode = 8(Backspace)可以正常工作,但DELETE的127不起作用。 –

+1

@KPJoy删除应该有keyCode 46,所以试试 'return(event.charCode> = 48 && event.charCode <= 57)|| event.keyCode == 8 || event.keyCode == 37 || event.keyCode == 38 || event.keyCode == 39 || event.keyCode == 40 || event.keyCode == 46' 以这种方式,您允许箭头键,退格键和删除。 – GiuServ

相关问题