Jquery и jscript (проверка формы)

Я пишу код для проверки пароля, хотя меня немного путают jquery и jscript.

Это моя функция:

function validatePassword(){
    var symbols = "!"; 
    var password0 = document.getElementById("password").value;
    if (password0.includes(symbols)){

        window.alert("sorry");
    }
    else{
        window.alert("good job!");
    }    }

Код отлично работает, когда:

document.getElementById("register").onclick = function() { validatePassword(); };

Однако он не запускается, если:

$( document ).ready(function() {
    $('[data-toggle = "tooltip"]').tooltip({
        'placement': 'top',
    });

    $('#register').click(function() {
        ('#password').validatePassword();
    });
    }); });

кто-нибудь может объяснить почему?

Это не метод jQuery, и вы не хотите его использовать.

StackSlave 01.06.2018 00:53

Присмотритесь к тому, что делает ('#password'). - он не использует $ и не выбирает какой-либо элемент. Но зачем его так называть, если работает наоборот? Просто используйте $('#register').click(function() { validatePassword(); });

Lex 01.06.2018 01:37
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
2
15
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Код, который вы ищете,

$( document ).ready(function() {
    $('[data-toggle = "tooltip"]').tooltip({
        'placement': 'top',
    });

    $('#register').click(validatePassword);
});

Вы хотели ввести $('#password').validatePassword(), но это тоже не сработает - элемент с идентификатором «пароль» не имеет свойства validatePassword. Это просто функция, которую можно вызывать по имени.

Интересный факт, поскольку validatePassword хранится как глобальная переменная, на самом деле он хранится в window. Итак, $('#register').click(validatePassword) и $('#register').click(window.validatePassword) подойдут.

Другие вопросы по теме