2009-06-14 9 views
2

お客様の古いCMSにjquery-form-validatorを追加します。クラスのイベント委任の問題

このjqeryフォームバリデータでは、class = "validate [required、custom [onlyLetter]、length [0,100]]などのクラスを入力する必要があります。

<input class="validate[required,custom[onlyLetter],length[0,100]]" name="firstname" type="text" /> 


これは、CMS('90から古い)ですので、私はこのようなJSでクラスを追加する必要があります。

var inputid = $(this).attr("id"); 

if(inputid=='navn'){ 
    $(this).removeClass().addClass('validate[required,custom[onlyLetter],length[0,100]] text-input'); 

}else if(inputid=='e-post'){ 
    $(this).removeClass().addClass('validate[required,custom[email]] text-input'); 
}else if (inputid=='telefon'){ 
    $(this).removeClass().addClass('validate[required,custom[telephone]] text-input'); 

私が望んでいたように、それはinputタグにクラスを追加します。しかし、jsでクラスを追加すると、動作しません。イベントの委任のためだと思います。

この状況でどうすればいいですか?

ありがとうございます。 addClassもし

答えて

0

動作していない、おそらくそれは多分...構文でbarfingさ:

$(this).attr('class','validate[required,custom[onlyLetter],length[0,100]]'); 

がうまくいくかもしれませんか?

(編集)

また、バリデータがない継続的に、一度値を読むために起こっている可能性が高いようだ...多分あなたは検証ライブラリを初期化する前に、これが実行されることを確認してください?

+0

ありがとうございました。あなたが指摘したように、私は検証ライブラリの前にクラスを追加する必要がありました。 – shin