ときどき、自分が Web 開発者でなかったらよかったのにと思うことがあります。そして、これはそれらの瞬間の 1 つです。私はフォームを持っています..郵便番号、電話番号などの番号フィールドなどのフィールドについてこれを検証する必要があります.
今。ここにURLがあります http://bit.ly/YXjsdb
手順:
- URl http://bit.ly/YXjsdbに移動します。
- バスケットに製品を追加します
- バスケットに行く
- ゲストチェックアウトフィールド内に任意の住所を入力してください
- [住所フィールドの追加] をクリックして住所を追加してみてください
- ポップアップアドレス帳がポップアップするはずです
. 「郵便番号」フィールドと「電話番号」フィールドを数値フィールドのみにする必要があります。そこに入力された他のものは、エラーメッセージを「formError」の場所に直接送信する必要があります。
助けてください。これを行う方法について本当に混乱しています。jQuery検証を使用しているようです。しかし、私はただ混乱しています。多分私は明日目を覚ますと、明確な頭脳でこれを見て、すぐに解決策を見つけるでしょう. 誰かからのかなりの助けはありますか?
var ValidatingForm = new Class({
Implements:[EventProxy, Options],
options: {
submit: 'defaultSubmit'
},
setupForm: function(selector, options) {
this.options.submit = $.proxy(this, 'defaultSubmit');
if (options) {
this.setOptions(options);
}
this.form = jQuery(selector);
this.el = selector;
this.form.on('submit', function(event) {
event.preventDefault();
});
this.form.find('.formError').val(' ');
$(this.el + ' input').addClass('text ui-widget-content');
$(this.el + ' select').addClass('ui-widget-content');
$(this.el + ' button').addClass('ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only');
$(this.el + ' input:checkbox').addClass('ui-widget-content');
var self = this;
this.form.validate({
submitHandler: this.options.submit,
showErrors: function(errorMap, errorList) {
if (this.errorList.length) {
self.showFormError('Fields marked * are required');
}
for ( var i = 0; this.errorList[i]; i++ ) {
var error = this.errorList[i];
$(error.element).addClass("ui-state-highlight");
}
if (this.settings.unhighlight) {
for ( var i = 0, elements = this.validElements(); elements[i]; i++ ) {
this.settings.unhighlight.call( this, elements[i], this.settings.errorClass, this.settings.validClass );
}
}
},
highlight: function(element, errorClass) {
$(element).addClass("ui-state-highlight");
},
unhighlight: function(input) {
$(input).removeClass("ui-state-highlight");
}
});
},
resetForm: function() {
this.form.find('.formError').empty();
this.form.find('.formError').append(' ');
this.form.validate().resetForm();
$(this.el + ' input').removeClass('ui-state-highlight');
$(this.el + ' select').removeClass('ui-state-highlight');
},
showFormError: function(errorMessage) {
this.form.find('.formError').empty();
this.form.find('.formError').append(errorMessage);
},
defaultSubmit: function(form) {
form.submit();
}
});