Ich versuche, HTML-Code-Zeichenfolge für ein Textfeld zu generieren. Das Problem ist, dass ich das onchange-Ereignis nicht im generierten HTML-Textfeld arbeiten lassen kann.Einstellung onClick-Ereignis eines generierten HTML-Textfelds
Script in meinem HTML-Seite ist wie folgt:
function validateSC1(){
//check something
}
var myStepContent = new StepContent("sc1", "First Name", inputType.Text, true, validateSC1);
document.getElementById("loc").innerHTML = myStepContent.generateCode().getCode();
Die validateSC1 Funktion soll onchange Ereignis des Textfeldes sein, die erzeugt werden soll.
Jetzt ist die StepContent Funktion wie folgt:
function StepContent(id, label, type, mandatory, validation){
this.init = function(){
this.id = id;
this.label = label;
this.type = type;
this.mandatory = mandatory;
this.validation = validation;
this.output = "";
}
this.generateCode = function(){
if(this.type == inputType.Text){
this.output += this.label + ": <br><input id='" + this.id + "' type='text' onclick='" + this.validation + "'><br>";
}
return this;
}
this.getCode = function(){
return this.output;
}
this.init();
}
ich in der Lage bin nicht den Onchange auch an der Arbeit. Ich habe es sogar in onclick geändert, um zu sehen, ob es funktioniert. Kann mir jemand bitte Ratschläge geben oder mir sagen was ich falsch mache?
Hinweis: Ich möchte das Ereignis onchange zuweisen, bevor der generierte HTML-Code auf der Seite gerendert wird. Daher kann der addEventListener nicht zum generierten Textfeld verwendet werden.
'onclick = '" + this.validation + " Wenn Sie das tun, nehmen Sie eine Methode und verwandeln sie in eine Zeichenfolge. Es wird NICHT auf die Methodenreferenz verwiesen, die Sie übergeben haben. Außerdem stellen Sie innerText ein, nicht sicher, wie das Rendern von HTML ist. – epascarello
Oh, ich habe diese Codezeile entfernt, da es sich nur um eine Testanweisung handelte, die ich ausprobiert habe. Ich wollte es nicht dorthin bringen. Mein Fehler! – Chums