Durante o desenvolvimento do sistema em PHP para o projeto do CTI usei biblioteca jQuery junto com o plugin para validar campos do formulário. Até este momento tudo estava funcionando perfeitamente. Ao adicionar o framework javascript Prototype para criar um sistema de busca dinâmica (Ajax), as funções realizadas pelo jQuery não funcionavam .
Pesquisando uma solução descobri que o jQuery possui uma função jQuery.noConflict(), para evitar conflito com outros códigos javascript. Isto ocorre por que outras bibliotecas costuma usar a sintaxe $ ou $() para chamar suas funcionalidades.
A solução é:
O biblioteca JQuery deve ser carregado antes de todas as outras e deve ser chamada a função jQuery.noConflict().
<script type="text/javascript">
jQuery.noConflict();
</ script >
Depois basta substituir o cifrão $ por jQuery.jQuery.noConflict();
</ script >
Antes:
var validator = $("#signupform").validate({
groups: {
birthdate: "birthdateDay birthdateMonth birthdateYear",
}
});
}
});
Depois:
var validator = jQuery("#signupform").validate({
groups: {
birthdate: "birthdateDay birthdateMonth birthdateYear",
}
});
Ou se desejar economizar alguns caracteres.
<script type="text/javascript">
var $e = jQuery.noConflict();
</script>
var validator = $e("#signupform").validate({
groups: {
birthdate: "birthdateDay birthdateMonth birthdateYear",
}
});
}
});
Ou se desejar economizar alguns caracteres.
<script type="text/javascript">
var $e = jQuery.noConflict();
</script>
var validator = $e("#signupform").validate({
groups: {
birthdate: "birthdateDay birthdateMonth birthdateYear",
}
});
Comentários
Postar um comentário