2

jQueryの検証プラグインを使用しているプロジェクトで問題が発生しています。検証エラーが表示されたら、onclickでアンカータグを動的に適用しています。そして、このオンクリックが問題です...

検証エラーが最初に表示されたとき、onclickイベントを発生させるには、リンクを2回クリックする必要があります。

IE開発者ツールバーでページを確認しましたが、アンカーが検証メッセージを正しくラップしており、onlickと必要なすべてのJavaScriptファイルが添付されています。

何が起こっているのですか?どんな提案でも大歓迎です:)

編集:コードスニペットを追加

jQuery(document).ready(function() {
        jQuery('#group-edit-form').validate({
            rules: {
                title: {
                    required: true,
                    remote: '<%=Url.Action("ValidateGroupName", new { id = ViewData["GroupId"] }) %>?parentId=' + getParentId()
                }
            },
            messages: {
                title: {
                    required: getMessage (7002),
                    remote: '<%= ((MessagingModel)ViewData["Messages"]).GetMessage (9001) %>'
                }
            }
        })

    });
    function getMessage(messageId) {
        var message = "<a id='errorMessageAnchor_" + messageId + "' onclick='messageBuilder(" + messageId + ")'><%= ((MessagingModel)ViewData["Messages"]).GetMessage (7002) %></a>";

        return message;
    }
4

1 に答える 1

4

アンカーのクリックを妨げているのはぼかしイベントです。

次のいずれかのオプションを選択できます。

  • ぼかしイベントの検証を無効にするonfocusout:false
  • 無効な要素へのフォーカス設定を無効にするfocusInvalid:false
于 2008-12-04T17:44:26.377 に答える