Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.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 手机上未触发onChange_Javascript_Html - Fatal编程技术网

Javascript 手机上未触发onChange

Javascript 手机上未触发onChange,javascript,html,Javascript,Html,我知道这个问题已经被问了很多次了,但是我找不到正确的答案。我没有使用select标记 我的问题是我的JS代码是这样的: document.getElementById("roomnumber").value = '205'; 我有一个动态的,我只是在这个例子里放了205,因为它基本上是一样的。我有这样的输入: <input type="text" id="roomnumber" name="roomnumber" onChange="roomnumberValue();"> 这很

我知道这个问题已经被问了很多次了,但是我找不到正确的答案。我没有使用
select
标记

我的问题是我的JS代码是这样的:

document.getElementById("roomnumber").value = '205';
我有一个动态的,我只是在这个例子里放了205,因为它基本上是一样的。我有这样的输入:

<input type="text" id="roomnumber" name="roomnumber" onChange="roomnumberValue();">
这很简单,对吗?我正在使用JSON
encode
来使用来自LaravelBlade引擎的变量从DB输出一个数组。我使用
indexOf
检查输入字段的值在给定的JSON数组中是否有任何匹配的记录。那个钻头很好用。当我在输入框中手动输入数字205时,它也可以在PC跨浏览器(至少是Chrome和Firefox)上工作。但是当
document.getElementById(“roomnumber”).value='205'时已使用,但它不起作用。也在手机上。因为就我而言,这个领域需要专注和不专注?我希望能够更改
document.getElementById(“btowelamt”).value=“2”的值document.getElementById(“roomnumber”).value='205'并且不必手动输入。我不想
聚焦
按键
。我希望JS改变这个值,根据这个值,其他字段的值也会改变。我不知道如何处理这个问题


感谢onChange不起作用的原因,因为onChange是在特定字段失去焦点时触发的,如果该值与之前的值不匹配,则只会触发该事件


您可以通过用onKeyUp替换onChange来检测immidate更改。onChange不起作用的原因是,当特定字段失去焦点时,onChange被触发,如果该值仅与以前的值不匹配,则该事件被触发

您可以通过用onKeyUp替换onChange来检测immidate更改,从而找到解决方案

我正在使用QR扫描仪将房间号输出到输入字段。以下是二维码结果放入输入字段中的代码:

document.getElementById("roomnumber").value = content;
因此我调用了
roomnumberValue()
,正如@the SuperKat和@Matt Luccas Phaure Jensen在上述代码之后提到的那样。我不知道为什么我以前没有想到这一点。

找到了解决办法

我正在使用QR扫描仪将房间号输出到输入字段。以下是二维码结果放入输入字段中的代码:

document.getElementById("roomnumber").value = content;

因此我调用了
roomnumberValue()
,正如@the SuperKat和@Matt Luccas Phaure Jensen在上述代码之后提到的那样。我不知道为什么我以前没有想到这一点。

我不认为当更新是通过代码而不是通过屏幕上的用户交互完成时会触发事件。一定有解决方案吗?我尝试过使用setInterval,但是它每次都会触发房间号事件,并触发
document.getElementById(“btowelamt”).value=“2”更改。假设我将2改为1,间隔重新激发
document.getElementById(“roomnumber”).value='205'然后我更改的值1返回到2。希望唤醒者不会认为当更新是通过代码而不是通过屏幕上的用户交互完成时会触发事件。一定有解决方案吗?我尝试过使用setInterval,但是它每次都会触发房间号事件,并触发
document.getElementById(“btowelamt”).value=“2”更改。假设我将2改为1,间隔重新激发
document.getElementById(“roomnumber”).value='205'然后我更改的值1返回到2。希望这是有意义的事情。我没有使用任何按键。我使用的是
document.getElementById(“roomnumber”).value='205'
更改字段值。没有用户交互。我正在使用JS更改字段值!那么我如何检测字段值的变化呢?为什么不让改变值的javascript立即对变化做出反应呢?不知道你的意思。对不起,我对JS还不太熟悉。您的意思是要触发
roomnumberValue()
事件吗?你能举个例子吗?他的意思是,当你从javascript更改字段的值时,在那里调用
roomnumberValue()
,这样你就可以捕捉到变化,例如,无论你在js中更改输入字段的值在哪里,比如,
document.getElementById(“inputid”).value=“somevalue”//更改该值后,只需调用roomnumberValue()函数即可。我没有使用任何按键。我使用的是
document.getElementById(“roomnumber”).value='205'
更改字段值。没有用户交互。我正在使用JS更改字段值!那么我如何检测字段值的变化呢?为什么不让改变值的javascript立即对变化做出反应呢?不知道你的意思。对不起,我对JS还不太熟悉。您的意思是要触发
roomnumberValue()
事件吗?你能举个例子吗?他的意思是,当你从javascript更改字段的值时,在那里调用
roomnumberValue()
,这样你就可以捕捉到变化,例如,无论你在js中更改输入字段的值在哪里,比如,
document.getElementById(“inputid”).value=“somevalue”//更改该值后,只需调用roomnumberValue()函数