在输入框内按下按键
press key inside an input box
我正在使用
填写登录表单
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" [=28= 而不是 "Events" ] 他们帮助了,我正在使用 chrome 浏览器。
刚刚掌握了您真正想要实现的目标。您可以清除占位符值 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')">
这就是您要找的吗?
我的问题已通过以下方式解决:
var element = document.getElementById('idTxtBx_SAOTCC_OTC');
var evt = document.createEvent("HTMLEvents");
evt.initEvent("change", false, true);
element.dispatchEvent(evt);
这是 knockout js,因为它只是设置元素的值不是 working.so 我正在尝试按键。
knockoutjs 的更改事件触发器 "textInput",而不是仅仅设置 .value 属性。
我正在使用
填写登录表单 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" [=28= 而不是 "Events" ] 他们帮助了,我正在使用 chrome 浏览器。
刚刚掌握了您真正想要实现的目标。您可以清除占位符值 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')">
这就是您要找的吗?
我的问题已通过以下方式解决:
var element = document.getElementById('idTxtBx_SAOTCC_OTC');
var evt = document.createEvent("HTMLEvents");
evt.initEvent("change", false, true);
element.dispatchEvent(evt);
这是 knockout js,因为它只是设置元素的值不是 working.so 我正在尝试按键。 knockoutjs 的更改事件触发器 "textInput",而不是仅仅设置 .value 属性。