2011-01-17 3 views
3

В этом знаменитом плагине jQuery под названием Validate есть опция «onfocusout». Но я хочу использовать другой, называемый «onfocusin», который не документирован, но существует внутри кода, и автор плагина процитировал его в ответ.Плагин jQuery Подтвердить: onfocusin не работает

Код я пытался:

<script type="text/javascript"> 
    $(document).ready(function() { 
    $("form").validate({ 
    onsubmit: false, 
    onkeyup: false, 
    onfocusin: true, 
    onfocusout: false, 
    rules: { 
     nome: { 
     required: true, 
     minlength: 5 
     } 
    } 
    }) 
    }) 
    </script> 
</head> 
<body> 
    <form action="tutorial.php" method="post" enctype="text/plain" > 
    <input type="text" name="nome" id="nome" /> 
    <button type="submit">Submit</button> 
    </form> 
</body> 

И FireBug показывает это сообщение об ошибке, когда я focusin 'вход:

validator.settings[eventType].call is not a function [Stop on this error] 
validator.settings[eventType] && v...eventType].call(validator, this[0]); 
jquery...date.js (line 305) 

Теперь, золотой вопрос: как это может быть исправлено?

Ссылки:

Validate плагин:

bassistance.de/jquery-plugins/jquery-plugin-validation/

Validate документация, страница опции:

документы .jquery.com/Плагины/Validation/validate # toptions

Validate код плагина:

ajax.microsoft.com/ajax/jquery.validate/1.7/jquery.validate.js

автор ответ Validate на abouth onfocusin:

groups.google .com/group/jquery-en/browse_thread/thread/652418e93c9618f1? pli = 1

+0

Что вы хотите с этим делать? как вы можете видеть в коде, это функция. Использование 'false' перезапишет ее (отключите эффект), иначе вам нужно определить функцию с тем, что вы хотите сделать. – ifaour

ответ

1

Вы не должны использовать «true» (значение bool) как значение параметров onsubmit, onkeyup, onfocusin и onfocusout. По умолчанию это функции (и события включены). Если вы хотите отключить эти события, установите значения «false» или «undefined» (без «). Чтобы понять плагин проверки, просмотрите исходный код. Документация не завершена. v1.9.

7

Вместо onfocusin: верно, используйте:

onfocusin: function(element) { $(element).valid(); } 

у меня была такая же проблема с этой ошибкой
validator.settings[eventType] && ...eventType].call(validator, this[0]);

Если вы хотите использовать onfocusout использовать один и тот же код:

onfocusout: function(element) { $(element).valid(); } 

Надеюсь, что это поможет.

Смежные вопросы