入力テキストコントロール用のイベントハンドラを追加します。コントロールは動的に生成されます。JavaScriptでイベントハンドラを設定できません
var settings_check = new Array("checkVMName()","checkDiskMB()","checkMemMB()","checkEsx()","checkDatastore()");
...
_inputbox = document.createElement("input");
_inputbox.type = "text";
_inputbox.id = settings[zindex];
_inputbox.onblur = settings_check[zindex];
_hint = document.createElement("hint");
_hint.id = settings[zindex] + "_Label2";
_hint.innerText = settings_hint[zindex];
mycurrent_cel2.appendChild(_inputbox);
mycurrent_cel2.appendChild(_hint);
しかし、この方法では動作しません:
JavaScriptの:私のコードは次のようです。私はFirebugでHTMLをチェックし、入力テキストコントロールには "onblur"属性は全く持っていませんでした。
HTML
<tr> <td>....</td> <td><input type="text" id="Datastore"> <hint id="Datastore_Label2">start with /</hint> </td> </tr>
私も
_inputbox.onblur = function(){alert("test");};
または
_inputbox.setAttribute("onblur",func);
Neのようにイベントハンドラを設定する他の方法を試してみましたitherは動作します。 :(
手動でonblur = function(){...}をFirebugのHTMLの入力テキストコントロールに追加して実行すると、onblurが機能します。 JavaScriptで制御?私のコードで何か問題がありますか?ありがとう。
ありがとう、Jacob。コードが私の家のPCにあり、私は今家にいないのであなたの提案を試していなくてもあなたが正しいと信じています。私は試してみることができます。再度、感謝します! – Landy
@Landyよろしくお願いします。 –
ご了承ください。コードを変更した後、提案したように関数への参照を割り当てても、コードはまだイベントハンドラを呼び出すことができませんでした。 FirebugのDOMビューでは、onblur属性が関数に割り当てられていることがわかります。しかし、それは単に呼び出すことはできません。だから私のコードに複数のエラーがあると思われる。あなたの助けを借りて、私は最初のものを修正しましたが、まだ左を描こうとしました...あなたは何か提案がありますか?私はそれについて新しい質問をすることを検討しています。ありがとう – Landy