我正在使用
填写登录表单 document.getElementById('i0116').value = email;
document.getElementById('i0118').value = password;
document.getElementById('idSIButton9').click();
现在问题在表单确定值未被任何键事件填充时开始,我的意思是即使我填写表单并且在提交时,占位符仍保留在那里,表示字段为空。
我试图通过在填充值之前在输入框上触发按键事件来修复它。但我无法做到。 我试过了:
var target = document.getElementById('email');
var evt = document.createEvent("Events");
evt.initEvent("keypress", true, true);
evt.view = window;
evt.altKey = false;
evt.ctrlKey = false;
evt.shiftKey = false;
evt.metaKey = false;
evt.keyCode = 0;
evt.charCode = 'a';
target.dispatchEvent(evt);
也代替"事件"我尝试了" UIEVENTS" 和" KEYEVENTS" 他们都没有帮助,我使用的是Chrome浏览器。
答案 0 :(得分:0)
抓住你真正想要实现的目标。您可以清除占位符值onClick()
并使用onBlur()
恢复占位符值,如下所示
function clearPlaceholder(id){
document.getElementById(id).placeholder = "";
};
function restorePlaceHolder(id, placeHolderText){
document.getElementById(id).placeholder = placeHolderText;
};

<input id="10116" placeholder="email" onClick="clearPlaceholder('10116')" onBlur="restorePlaceHolder('10116','email')">
<input id="10118" placeholder="password" onClick="clearPlaceholder('10118')" onBlur="restorePlaceHolder('10118','password')">
&#13;
那是你在寻找什么?
答案 1 :(得分:0)
我的问题已解决:
var element = document.getElementById('idTxtBx_SAOTCC_OTC');
var evt = document.createEvent("HTMLEvents");
evt.initEvent("change", false, true);
element.dispatchEvent(evt);
这是淘汰赛的js,因为只是设置元素的值不起作用。所以我试图按键。 chanage事件触发&#34; textInput&#34;对于knockoutjs,而不仅仅是设置.value属性。