Php &引用;“仅限数字”;带逗号分隔符的字段
我正在创建一个基本上只有数字的字段,除了在千、百万等标记处插入逗号分隔符之外 在中,似乎遇到的第一个问题是keycode188是否可以用于允许逗号。在这里使用代码时,我无法在字段中实际键入逗号,即使我似乎已排除它返回false:Php &引用;“仅限数字”;带逗号分隔符的字段,php,javascript,numbers,comma,keycode,Php,Javascript,Numbers,Comma,Keycode,我正在创建一个基本上只有数字的字段,除了在千、百万等标记处插入逗号分隔符之外 在中,似乎遇到的第一个问题是keycode188是否可以用于允许逗号。在这里使用代码时,我无法在字段中实际键入逗号,即使我似乎已排除它返回false: function forceNumber(event){ var keyCode = event.keyCode ? event.keyCode : event.charCode; if((keyCode < 48 || keyCode >
function forceNumber(event){
var keyCode = event.keyCode ? event.keyCode : event.charCode;
if((keyCode < 48 || keyCode > 58) && keyCode != 188)
return false;
}
最后是PHP调用:
<p>
<label for="yearly_income"><?php _e('Yearly Income<br><i>Used to determine fee per session</i>','mydomain') ?><br />
<input type="number" name="yearly_income" id="yearly_income" class="input" value="<?php echo esc_attr(stripslashes($yearly_income)); ?>" size="25" onkeypress="return forceNumber(event);" onkeyup="this.value=numberWithCommas(this.value);" /></label>
</p>
将type=“number”
更改为type=“text”
演示
浏览器正在解释type=“number”
并确保您只能在该字段中输入数字,这就是它变为空白的原因。您的所有用户都使用相同的区域设置吗?不是44,不是188吗?永远不要限制用户可以输入的内容。相反,等待他们完成输入,然后检查他们输入的内容是否有效,并告诉他们是否有效。柯林克:我不知道你为什么会这样评论而没有解释。Epasarello,当我检查它是188。感谢抽象,在小提琴中效果很好,但在网站上仍然不起作用,即使在我将类型更改为文本后。我有点困惑为什么。我在原始PHP中修改的代码是小提琴中的HTML没有在Chrome中正确显示…但是当我将其更改为“”时,它仍然没有实现逗号。这在FF和Chrome中都有。在创建并上传了functions.php文件后,我忘了调用functions.php文件中的numbersWithCommas.js!那就行了!添加了函数numberWithCommas(){wp_enqueue_script('numberWithCommas',get_template_directory_uri()。/js/numberWithCommas.js',array('jquery');}add_action('login_enqueue_scripts',numberWithCommas')代码>而且效果很好。非常感谢。抽象混沌肯定能给出一个具体的解决方案!
<p>
<label for="yearly_income"><?php _e('Yearly Income<br><i>Used to determine fee per session</i>','mydomain') ?><br />
<input type="number" name="yearly_income" id="yearly_income" class="input" value="<?php echo esc_attr(stripslashes($yearly_income)); ?>" size="25" onkeypress="return forceNumber(event);" onkeyup="this.value=numberWithCommas(this.value);" /></label>
</p>