テキストフィールドのHTMLコード文字列を生成しようとしています。問題は、生成されたHTMLテキストフィールドでonchangeイベントが機能しないことです。次のように私のHTMLページ内生成されたHTMLテキストフィールドのonClickイベントの設定
スクリプトは次のとおりです。
function validateSC1(){
//check something
}
var myStepContent = new StepContent("sc1", "First Name", inputType.Text, true, validateSC1);
document.getElementById("loc").innerHTML = myStepContent.generateCode().getCode();
validateSC1関数が生成されるテキスト・フィールドののonchangeイベントであると考えられます。次のように
今StepContent機能は次のとおりです。
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();
}
私も仕事にのonchangeを取得することができないのです。私はそれが動作するかどうかを見るためにonclickイベントに変更しました。誰でもアドバイスをしたり、私が間違っていることを教えてもらえますか?
注:生成されたHTMLコードがページにレンダリングされる前にonchangeイベントを割り当てて、生成されたテキストフィールドにaddEventListenerを使用することはできません。 jQueryを使って
'onclick = '" + this.validation + "'' これを実行しているときは、メソッドを取得して文字列に変換しています。渡されたメソッド参照を参照することはありません。さらに、HTMLをどのようにレンダリングしているのかわからないinnerTextを設定しています。 – epascarello
ああ、私が試した試行文だったので、そのコード行を削除しました。それをそこに置くつもりはありませんでした。私の悪い! – Chums