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