0

最近、サイト登録フォームを完全に再コーディングしました。多くのユーザーが、登録時にフォームに入力すると、ユーザー名が既に使用されていることを通知されるか、その他のエラーが発生して、すべてを再入力する必要があると不満を漏らしていました。その情報の。

私は今日、新しい登録ページの設計とコーディングに着手しました。ユーザーからの結果として、よりユーザーフレンドリーに見えるという応答があり、「ライブ」検証が含まれていると、それはちょうどいいでしょう。

とにかく、これが私の登録ページの外観で、エラーが含まれるdivの場所が示されています。

フォームのデザインがどのように見えるかを示す画像

フォームの各領域について、その横に同じdivクラスを追加しました。これにより、ユーザーが入力した内容に応じて非表示/再表示できるようになります。

私の問題は、確かに、すべてのフィールドに同じクラスを使用すると、innerHTML関数のようなものを使用すると、すべてのエラーフィールドが更新されるということです。

jQueryは私の強みからはほど遠いので、助けていただければ幸いです。ご要望があれば、さらに情報を追加させていただきます、ありがとうございます!

4

2 に答える 2

0

各フィールドにIDを付けて、特定の各フィールドにアクセスする#whatever代わりにセレクターを使用してみませんか?.whatever

于 2012-11-13T00:18:36.520 に答える
0

基本的に、keyUpまたはのようなイベントで検証blurし、検証が終了したら、入力要素から入力とエラーdivの両方を含む要素に移動して、適切なdivをトラバースし、そのクラスでエラーdivを検索します。このようにして、適切な要素のエラーのみを回避することができます。

入力とエラーdiv(および適切にはラベルなど)を囲む要素にクラスがelementあり、エラーdivにクラスがあると仮定しますerror

$('input').blur(function() {

    // on error:
    $(this).parents('.element').find('.error').text('Some error occured').show();
});

ajaxを使用して検証する場合、エラー時のものはajaxコールバックofcにある必要があります...検証を成功させるには同じルーチンも必要です:テキストを削除してエラーdivを非表示にします...

于 2012-11-13T00:21:56.730 に答える