2016-04-04 17 views
-1

I Füllen bin ein Login-Formular oben mitdrücken Sie die Taste innerhalb einer Eingabefeld

 document.getElementById('i0116').value = email; 
    document.getElementById('i0118').value = password; 
    document.getElementById('idSIButton9').click(); 

Nun ist das Problem beginnt, wenn Form ist die Ermittlung, dass der Wert nicht von einem Schlüsselereignis gefüllt ist, meine ich, die Platzhalter bleibt es auch Wenn ich das Formular ausfülle und abschicke sagt es Felder sind leer.

Ich habe versucht, es zu beheben, indem ich ein Tastendruckereignis auf Eingabefeld ausgelöst habe, bevor ich den Wert fülle. aber ich kann es nicht tun. Ich habe versucht:

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); 

auch anstelle von "Event" Ich habe versucht, "UIEVENTS" und "KEYEVENTS" keiner von ihnen geholfen, ich Chrome-Browser verwenden.

+0

für was habe ich die negativen Stimmen bekommen? : | – user5821368

Antwort

0

wurde mein Problem mit aufgelöst:

var element = document.getElementById('idTxtBx_SAOTCC_OTC');  
var evt = document.createEvent("HTMLEvents"); 
     evt.initEvent("change", false, true); 
     element.dispatchEvent(evt); 

Es war Knockout js, weil davon nur den Wert des Elements Einstellung nicht war working.so ich keypress versuchte. chanage-Ereignis löst "textInput" für knockoutjs aus, anstatt nur das Attribut .value zu setzen.

0

Haben Sie einfach den Überblick, was Sie wirklich erreichen wollen. Sie können den Platzhalter Wert onClick() und Wiederherstellen der Platzhalter Wert mit onBlur(), so etwas wie die folgenden

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')">

Ist klar aus, dass, was Sie suchen?

+0

Sorry @kailas hat es nicht mit der Einstellung Platzhalter funktioniert :( – user5821368

+0

Könnten Sie es jetzt versuchen? – Kailas

+0

Vielen Dank @kailas für Ihre Mühe, aber ich brauche Platzhalter nicht zu verstecken, möchte ich den Wert der Eingabefeld mit Tastendruck-Ereignis (wie wir in der Regel den Wert direkt setzen mit element.value = "email"), ich möchte das nicht benutzen, aber benutze keypress um den Inputbox Wert zu füllen, und Platzhalter blendet sich automatisch aus, wenn wir eine Taste in einem Eingabefeld drücken brauche eine andere Funktion dafür. – user5821368