2011-12-22 7 views
0

登録フォームを作成し、dojox.form.PasswordValidationを使用して、入力されたパスワードが同じかどうかを確認する計画です。プログラムでdojox.form.PasswordValidationを使用する方法はありますか?私はこれを行う場合:dojox.form.PasswordValidationをプログラム方法で使用する

<div id="sample"> 
    <input type="password" pwType="new" /> 
    <input type="password" pwType="verify" /> 
</div> 

<script> 
    var a = new dojox.form.PasswordValidation({}, "sample"); 
</script> 

期待通りに上記のコードは動作しますが、私はそれらの「pwType」のタグを-取り除き、純粋なHTMLタグを作成したいです。私がそうするなら、どこに "pwType"を置くべきですか?

P.S.私はDojo 1.6を使用しています

答えて

0

残念ながら、このウィジェットは、dojoがすべての無効なhtml属性を有効なdata- *属性に移動しようとした最近の変更ではあまり現実的ではありません。そのウィジェットのpostCreate方法を見ているとき、それはそれの真ん中に、このコードがあります。

dojo.forEach(["old","new","verify"], function(i){ 
    widgets.push(dojo.query("input[pwType=" + i + "]", 
          this.containerNode)[0]); 
}, this); 

をそして、ちょうど、その後、それはそれ以外の場合はエラーがスローされます、それは必要な入力を発見したことを確認します。

あなたはpwType属性以外のものを使用したいのであれば、あなたはおそらく、たとえば、何か他のものを照会するために、このウィジェットののPostCreateメソッドを上書きする必要があります:

dojo.query("input[data-dojo-password-type=" + i + "]") 

をして、次のように指定することができますこのようなdata-dojo-password-typeの代わりpwTypeの値:

<div id="sample"> 
    <input type="password" data-dojo-password-type="new" /> 
    <input type="password" data-dojo-password-type="verify" /> 
</div> 
0

何についての何かのように:

var theDiv = dojo.create("div", {id: "sample"}), 
    theNewPass = dojo.create("input", {type: "password", pwType: "new"}, theDiv, "last"), 
    theVerifPass = dojo.create("input", {type: "password", pwType: "verify"}, theDiv, "last"), 
    a = new dojox.form.PasswordValidation({}, "sample") 
; 
関連する問題