jqueryについて質問させていただきます。


jqueryで入力フォームのエラーチェックの処理を実装したのですが、
入力フォームをjqueryで増やせるようにしたところ、エラーチェックが走らなくなってしまいました。

この場合、入力フォームを増やした時点で、エラーチェック関数をもう一度読ませる?ような処理をしないといけないのでしょうか?

jqueryの処理の流れについて教えていただけますと助かります。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2011/09/30 23:28:43
  • 終了:2011/10/05 19:29:48

ベストアンサー

id:otchy210 No.2

Otchy回答回数8ベストアンサー獲得回数32011/10/05 17:57:50

ポイント100pt

jQuery の live を使うと、後から追加した要素についても自動的にイベントを設定する事が出来ます。

こんな感じに書けば、ADD ボタンを押して後から追加した要素であっても、class="int" の要素全てについて同じエラーチェックが走ります。

HTML

<div id="params"><input class="int" /></div>
<div><button id="add">ADD</button></div>

JavaScript

$(function() {
    $('#add').click(function() {
        $('#params').append($('<input>').addClass('int'));
    });
    $('.int').live('blur', function() {
        var i = $(this).val();
        if (i.length == 0) return;
        if (i.match(/^[0-9]+$/)) return;
        alert('Enter int value.');
        this.focus();
    });
});
id:kuso47

ありがとうございます。こちらで実装してみます!

2011/10/05 19:30:12

その他の回答(1件)

id:Cherenkov No.1

Cherenkov回答回数1502ベストアンサー獲得回数4922011/10/01 13:34:12

ソースくらい貼りましょう。

jQuery Validation Pluginを使ってるなら、増やしたinputの:uncheckedなエレメントにvalidate()すればよさそうですが。

id:otchy210 No.2

Otchy回答回数8ベストアンサー獲得回数32011/10/05 17:57:50ここでベストアンサー

ポイント100pt

jQuery の live を使うと、後から追加した要素についても自動的にイベントを設定する事が出来ます。

こんな感じに書けば、ADD ボタンを押して後から追加した要素であっても、class="int" の要素全てについて同じエラーチェックが走ります。

HTML

<div id="params"><input class="int" /></div>
<div><button id="add">ADD</button></div>

JavaScript

$(function() {
    $('#add').click(function() {
        $('#params').append($('<input>').addClass('int'));
    });
    $('.int').live('blur', function() {
        var i = $(this).val();
        if (i.length == 0) return;
        if (i.match(/^[0-9]+$/)) return;
        alert('Enter int value.');
        this.focus();
    });
});
id:kuso47

ありがとうございます。こちらで実装してみます!

2011/10/05 19:30:12
  • id:SHARUL
    > jqueryで入力フォームのエラーチェックの処理を実装した
    どのように実装されたのでしょう?

    > 入力フォームを増やした時点で、エラーチェック関数をもう一度読ませる?ような処理をしないといけないのでしょうか?
    「入力フォームのエラーチェックの処理」がどう実装されているか次第だと思います。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません