仙乃日 发表于 2016-12-1 09:05:18

网页中的一个日期INPUT输入框无法直接通过DOM赋值[已解决]

本帖最后由 仙乃日 于 2016-12-1 10:50 编辑

<INPUT class=text style="IME-MODE: disabled" maxLength=10 name=sfrq00 mask="date" jQuery1480553406092="250">网页代码如上。
手工点击后,会跳出一个日历控件,让用户选择。但是直接通过操作DOM来赋值就不成。
试过改写代码也不成。
$Ele = _IEGetObjByName($oIE, "sfrq00")
$sHTML = '<<INPUT class=text style="IME-MODE: disabled" maxLength=10 value=2016-11-26 name=sfrq00>'
$Ele.innerHTML = $sHTML
当然直接$Ele.Value = "2016-11-26" 也不成。
加上$Ele.fireEvent("OnChange")还是不成。
------------------
晕死!原来是DOM元素重名了。操作这个网页还发现一个怪异的事情。$Ele = _IEGetObjByName($oIE3, "ettz00",0)
Local $tz = 4.5 + Random(-3, 4, 1) / 10
$Ele.Value =$tz使用_IEGetObjByName会有问题,匹配到的DOM元素是"ttz00"Local $oInputs = _IETagNameGetCollection($oIE3, "input")
For $oInput In $oInputs
        If $oInput.Name = "ettz00" Then
                Local $tz = 4.5 + Random(-3, 4, 1) / 10
                $oInput.focus()
                $oInput.click()
                $oInput.Value = $tz
                $oInput.blur()
                MsgBox(0, @error, $oInput.outerhtml)
                ExitLoop
        EndIf
Next而使用_IETagNameGetCollection就能正确地找到 "ettz00"元素。

zghwelcome 发表于 2016-12-1 16:23:51

学习了,收藏
页: [1]
查看完整版本: 网页中的一个日期INPUT输入框无法直接通过DOM赋值[已解决]