Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript yii文本字段的onkeypress_Javascript_Php_Yii_Textfield - Fatal编程技术网

Javascript yii文本字段的onkeypress

Javascript yii文本字段的onkeypress,javascript,php,yii,textfield,Javascript,Php,Yii,Textfield,这行代码显示了一个文本字段 <div class="row"> <?php echo $form->labelEx($model,'READING_YEAR'); ?> <?php echo $form->textField($model,'READING_YEAR',array('size'=>4,'maxlength'=>4)); ?> <?php echo $form->error($model,'RE

这行代码显示了一个文本字段

<div class="row">
<?php echo $form->labelEx($model,'READING_YEAR'); ?>
    <?php echo $form->textField($model,'READING_YEAR',array('size'=>4,'maxlength'=>4)); ?>
    <?php echo $form->error($model,'READING_YEAR'); ?>
</div>

我希望能够使用javascript在文本字段中只输入数字

<script>
function isNumberKey(evt)
{
    var charCode = (evt.which) ? evt.which : event.keyCode
        if (charCode > 31 && (charCode < 48 || charCode > 57))
            return false;
        return true;
}
</script>

函数isNumberKey(evt)
{
var charCode=(evt.which)?evt.which:event.keyCode
如果(字符码>31&(字符码<48 | |字符码>57))
返回false;
返回true;
}

如何做到这一点?

基本上只需在Javascript中添加以下内容:

document.getElementById('your-element').onkeypress = function(evt){
    return isNumberKey(evt);
}

好的,很抱歉,稍后将删除,但所有这些链接都使用html文本输入,我使用php文本字段。我想我不明白,你能再详细说明一下吗?@cipher1285我想你从中获得了
isNumberKey(evt)
函数,因为代码是相同的。在他们的示例中,他们的
input
元素的
onkeypress
属性等于
returnisnumberkey(event)
。我的示例产生了相同的结果,但是您不需要将
onkeypress
属性添加到您的文本框中,因为您使用的是PHP文本字段,所以您不能这样做。好吧,我在javascript中添加了您的代码,但是如何从我的文本字段调用我的javascript?抱歉,我在yii和php方面还是新手。@cipher1285
document.getElementById('your-element').onkeypress=function(evt){return isNumberKey(evt);}
意味着只要按下键盘键,用户在文本框中输入文本,它就会运行该函数。所以你所要做的就是把它放到你的Javascript中,然后把Javascript添加到你的页面中,它就会自动工作。