この問題を徹底的に検索した後、jQuery検証プラグインがSMS-via-PHPフォームに使用している文字数カウントプラグインを食い止めているという問題について、自分で答えを見つけることができませんでした。
フロントエンドでフォームにアクセスし、テキスト領域に入力を開始すると、カウンターは正常に機能します。もちろん、要素にテキストがあるため、検証は実行されません...しかし、興味深いことにテストの場合、メッセージなしでフォームを送信しようとすると、検証が実行され、に関連してエラーメッセージが表示されtextarea
ます。コピーを入力すると、検証メッセージは消えますが、文字カウンターは機能しなくなります。
これが私が使用している文字カウンターです:http://cssglobe.com/jquery-plugin-simplest-twitterlike-dynamic-character-count-for-textareas/
スクリプトのレイアウト方法は次のとおりです。
$(function(){
//irrelevant functions have been omitted
$("#smsMessage").charCount({
allowed:110,
warning:10,
});
$('form').validate();
});
検証へのコールバックとして、カウンター関数を再起動しようとしましたが、その結果、重複した機能しないカウンターがの横に配置されましたtextarea
。
$(function(){
//irrelevant functions have been omitted
$("#smsMessage").charCount({
allowed:110,
warning:10,
});
$('form').validate({
invalidHandler: function(form, validator) {
var errors = validator.numberOfInvalids();
if (errors) {
$("#smsMessage").charCount({
allowed:110,
warning:10,
});
}
}
});
});
確かに、これは久しぶりのソロwebDevプロジェクトです。これは私の婚約者と結婚式のサイトのためのものなので、少し分類しようとしています。カウンターと検証をうまく連携させる方法があれば、それは素晴らしいことです。そうでなければ、それは正確には世界の終わりではありませんが、それでも理想的とは言えません。