在输入框内按键

时间:2016-04-04 11:33:38

标签: javascript key-events

我正在使用

填写登录表单
     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浏览器。

2 个答案:

答案 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;
&#13;
&#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属性。