HTML5类=";“数字”;模式=";[0-9]*";输入两位数字并按两次删除按钮后中断PHONEGAP应用程序

HTML5类=";“数字”;模式=";[0-9]*";输入两位数字并按两次删除按钮后中断PHONEGAP应用程序,html,cordova,tel,Html,Cordova,Tel,我有一个Phonegap应用程序,它使用html5“tel”标记,就像这样 <input type="password" id="inputPin1" name="inputPin1" class="numeric" pattern="[0-9]*" type="text" minlength="4" maxlength="4" tabindex="1" size="5" placeholder="4 digits only" autofocus /> 问题是,在输

我有一个Phonegap应用程序,它使用html5“tel”标记,就像这样

<input type="password"  id="inputPin1" name="inputPin1" 
class="numeric" pattern="[0-9]*" 
type="text" minlength="4" maxlength="4" tabindex="1" size="5" 
placeholder="4 digits only" autofocus   />

问题是,在输入2位或更多数字后,再按两次后退按钮删除输入的号码,Phonegap应用程序就会崩溃,因为它不会删除输入的第一个号码。但是,如果您只输入一个数字,然后回击,它将按预期工作。两个或多个数字将删除除第一个数字以外的每个数字,然后使应用程序崩溃

如果您将电话与Phonegap一起使用,请让我知道这是否是一个常见问题,或者上述代码中是否有错误

如果有一个解决方案也会很有帮助


感谢您在advanced中的帮助。

首先,我不知道为什么会发生这种情况,因为它不应该发生

不过,我可以提出一个解决方案:您可以通过Javascript控制输入,捕获事件字符码,并且仅在用户输入数字、删除、导航箭头和输入时才执行操作。以及对输入值进行更改

如果使用此方法,请不要忘记添加
事件.preventDefault()
要避免输入,请在JS代码之后执行操作


希望对你有所帮助

我喜欢你的头衔!!!!通过同时指定
type=“password”
type=“text”
,您试图实现什么目标?据我所知,从
placeholder=“仅限4位”
您的模式应该是
pattern=“[0-9]{4}”
type=“password:”和type=“text”是一个错误,谢谢您指出它,但当我删除类型文本时它仍然不起作用同样的问题,placeholder=“仅限4位”是文本框中显示的内容,因此人们知道它只需要4位数字,而不需要任何字母。它是4位pin码的占位符。我注意到,当第一位数字变成密码类型时,我不会删除它。我将尝试上面提到的charCode,看看我是否能让它工作。我以前也遇到过类似的问题,这就是它的工作方式。尽管这仍然是一个解决办法。