Fw: [问题] 无法更改input框的值

楼主: a0813   2018-09-06 20:24:57
※ [本文转录自 java 看板 #1RaHN6Ro ]
作者: a0813 (英九辣宝贝) 看板: java
标题: [问题] 无法更改input框的值
时间: Thu Sep 6 19:55:48 2018
大家好,想请教一下,在开发者管理工具中
IE的主控台/CHROME的CONSOLE所下的指令是JavaScript吗?(怕跑错版XD)
因为前阵子公司内部的网页更新了,原先习惯用EXCEL搭配VBA去抓资料来用
但更新了以后要修改时,却发现操作过程中更改框框的值没办法使用
用的是document.getElementsByClassName("input")[n].value = XXX的方式
虽然下指令的当下是看得到值有被更新,但再按下送出的按钮时,值又被改回去了
也包括下拉式选单或checkbox种类的输入框也没办法这样做
(但checkbox如果用.click()来勾选的话就又有效)
过程中鼠标键盘所做的动作都是可以正常使用的,就是如果我在框框A手动输入1,
然后在getElementsByClassName("input")[0].value = 2,显示的值就会变成2,
再去getElementsByClassName("input")[0].value所得到的值也确实是2,但按下送
出键就又会跳回1了,请问有人知道这是怎么回事?应该要怎么做才可以有效的修改值吗?
谢谢
(看一次勾选全部的checkbox那边的.js档好像有看到this.grid.datas[*].checked的字样)
不晓得是不是有另外一个实际上的表还什么QQ
作者: torali (pandaemon)   2018-09-06 20:46:00
可以贴code上来吗,这样讲有点抽象
楼主: a0813   2018-09-07 00:17:00
公司电脑有锁外网耶QQ
作者: WunoW (WunoW)   2018-09-07 02:06:00
先确定submit前有做什么处理但你这问题有无限种可能,没实际看code都是白讲的
楼主: a0813   2018-09-07 08:30:00
看了一下页面原始码,那些格子都有v-model(.lazy),这个会有关联吗?
作者: dododavid006 (朔雪)   2018-09-07 10:10:00
如果有 v-model 那代表网页是用 vue 写的 这样的话可能送出去的值是从 vue 的 component 拿的 那你可能要看看有没有什么办法去改原本的程式码之类的 或是改值后 dispatch 一个 input event 让 vue 那边去抓新的值
楼主: a0813   2018-09-07 10:59:00
它好像还有一个_value是实际的值,然后value是被修改后网页上显示的主张,不知道有没有什么方法可以直接修改_value*网页上显示的值
作者: dododavid006 (朔雪)   2018-09-07 16:30:00
还有一个方法是往上找到 vue mount 的那个 element它会有 __vue__ 这个属性可以直接修改 component 内的值https://codepen.io/dododavid006/pen/JaOjpM总之如果真的是 vue 的网页可以试试看 那个 Show 的按钮是在 console 印出目前内部的值
楼主: a0813   2018-09-09 21:50:00
感谢d大,明天上班再来试试
作者: forewero (木日一)   2018-09-12 08:08:00
是要SUBMIT之后依然KEEP住值吗?
楼主: a0813   2018-09-13 22:16:00
不是,是SUBMIT抓不到框框里的值,但后来找到实际的位置了

Links booklink

Contact Us: admin [ a t ] ucptt.com