Всем привет. Речь конечно же пойдет о кнопке на странице сайта или какого-то веб-приложения. Мы будем делать ее неактивной через JS, но для этого нам нужно создать условие, то есть в каких случаях кнопка будет неактивной, потому что оставлять е в этом положении навсегда не имеет смысла. В большинстве случаев это делается при проверке каких-то данных в форме и там как раз есть условие — если проверка на заданные условия пройдена, то кнопку сделаем активной, если нет — нажатие на кнопку будет запрещено. Я уже писал про валидацию номера телефона на JS, поэтому мы можем частично воспользоваться кодом, который приведен в статье. неактивная кнопка а HTML выглядит так:
<buttondisabled="true">Кнопка</button>
<button disabled="true">Кнопка</button>
Или так:
<inputtype="submit"disabledvalue="Кнопка"/>
<input type="submit" disabled value="Кнопка"/>
А так же:
<button disabled>Кнопка</button>
<button disabled>Кнопка</button>
<inputtype="submit"disabledvalue="Кнопка"/>
<input type="submit" disabled value="Кнопка"/>
То есть кнопке просто добавляется атрибут disabled и дальше будет зависеть от контекста. В каких случаях атрибуту присваивать значение TRUE, а в каких FALSE. Теперь можно перейти к конкретным примерам.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function validatePhone(phone){var regex =/^(\+7|7|8)?[\s\-]?\(?[489][0-9]{2}\)?[\s\-]?[0-9]{3}[\s\-]?[0-9]{2}[\s\-]?[0-9]{2}$/;return regex.test(phone);}
let inp = document.querySelector('.inp');
let btn = document.querySelector('.btn');
btn.setAttribute('disabled',true);
inp.oninput=function(){
let phone = document.querySelector('.inp').value;if(!validatePhone(phone)){
btn.setAttribute('disabled',true);}else{
btn.removeAttribute('disabled');}}
function validatePhone(phone){
var regex = /^(\+7|7|8)?[\s\-]?\(?[489][0-9]{2}\)?[\s\-]?[0-9]{3}[\s\-]?[0-9]{2}[\s\-]?[0-9]{2}$/;
return regex.test(phone);
}
let inp = document.querySelector('.inp');
let btn = document.querySelector('.btn');
btn.setAttribute('disabled', true);
inp.oninput = function(){
let phone = document.querySelector('.inp').value;
if (!validatePhone(phone)){
btn.setAttribute('disabled', true);
}else{
btn.removeAttribute('disabled');
}
}
Эта конструкция кода проверяет номер телефона в формате +7 и пока не будет введен верный номер в поле — кнопка останется неактивной. Как только номер будет соответствовать заявленным требованиям, то есть регулярному выражению — кнопка станет активной. То же самое мы можем сделать для Email адреса. Все, что нужно сделать, это поменять регулярное выражение в переменной regex, которое будет проверять именно Email.
Соответственно сделать кнопку неактивной на JS можно и для других данных, когда форма содержит гораздо больше полей и все их нужно проверить. В этом уроке я привел основной принцип, а реализация и проверки будут зависеть от конкретной задачи.
Привет, друзья. Есть задача: по нажатию одной кнопки должно срабатывать 2 функции в JS. Решается это очень просто, но у многих начинающих изучать программирование почему-то возникают с этим трудности. Давайте разберем пример с двумя функциями на событии onclick. И как и в предыдущем примере, когда мы делали нажатие на копку в JavaScript, можно пойти двумя способами. На странице есть такая кнопка:
document.querySelector("#submit").onclick=function(){
console.log("Результат работы функции 1");
send2();}function send2(){
console.log("Результат работы функции 2");}
document.querySelector("#submit").onclick = function(){
console.log("Результат работы функции 1");
send2();
}
function send2(){
console.log("Результат работы функции 2");
}
В итоге в консоли мы увидим ожидаемый результат:
Обе функции можно написать отдельно, что будет более правильным решением.
1
2
3
4
5
6
7
function send1(){
console.log("Результат работы функции 1");}function send2(){
console.log("Результат работы функции 2");}
function send1(){
console.log("Результат работы функции 1");
}
function send2(){
console.log("Результат работы функции 2");
}
И таким образом кнопка будет обрабатывать сразу две кнопки, то есть будут происходить какие-то действия по нажатию одной кнопки. И как вы смогли догадаться — функций на одно событие можно повесить гораздо больше, чем две. Единственное о чем нужно подумать, это о целесообразности такого подхода. Действительно ли нужна такая необходимость?
Привет всем любителя программирования. Это довольно простой урок по такому событию в JavaScript, как нажатие на кнопку. не смотря на то, что это базовые вещи в JS, реализовать нажатие на кнопку можно разными способами. Давайте предположим, что у нас на странице есть некая кнопка.
Соответственно по нажатию на кнопку в JavaScript можно делать не только всплывающий alert, но и все, что угодно, передавать данные на сервер, изменять элементы на странице, удалять, копировать и много чего еще. Давайте рассмотрим еще один пример. напишем небольшую функцию, которая будет срабатывать по клику и выводить на страницу случайное число. Для этого под кнопкой добавим элемент DIV с классом sum, в котором будем выводить результат работы JavaScript функции.
<divclass="sum"></div>
<div class="sum"></div>
И сама функция:
1
2
3
function randomSum(min, max){
document.querySelector('.sum').innerHTML=(Math.floor(Math.random()*(max - min +1))+ min);}
function randomSum(min, max) {
document.querySelector('.sum').innerHTML = (Math.floor(Math.random() * (max - min + 1) ) + min);
}
По нажатию на кнопку под ней будет выведено четырехзначное число от 1000 до 9999 в случайном порядке. Это мы указали в специальных параметрах min и max.
Событие клика правой кнопкой мыши в JavaScript отличается от левой и по умолчанию вызывает стандартное контекстное меню браузера. Но мы его можем изменить. Во-первых убрать, а во-вторых задать свое действие.
Запрещаем вывод контекстного меню при клике правой кнопкой мыши:
Это простейший вызов функции по клику в JavaScript и усваивается без особых трудностей. В дальнейшем рекомендую изучать более сложные функции, которые делают различные операции. Например считают сумму, как в калькуляторе расчета стоимости. Надеюсь этот урок оказался для вас полезным. Если остались вопросы, вы всегда можете задать их в комментариях.
Следует начать с того, что Windows Powershell — это не стандартная командная строка с черным фоном. Это другая оболочка и фон у нее темно-синий. Она поставляется в системы Windows начиная в 7 версии. И с ее помощью можно отравлять письма на почту через SMPT сервер. В некоторых случаях такой способ отправки Email может выручить, когда все другие по каким-то причинам вам недоступны. Ну и для общей практики и знакомства с терминалом Windows Powershell и некоторыми его командами, которые в нем называются — командлеты. Вызвать окно Powershell очень просто. Достаточно нажать Win + R и вписать туда Powershell.
Для отправки вам потребуется доступ к почте (логин и пароль). С этого адреса будет отправлен Email.
Особенное внимание прошу обратить на 9 строчку. Это полноценная возможность отправлять HTML письма через Windows Powershell по тому же принципу, как это делается в PHP. Необходимо ввести Email, кому вы хотите отправить сообщение, ввести свой адрес почты и пароль, написать текст, потом вставить все это в окно Powershell и нажать Enter. Можете потренироваться на своем ящике. У меня это выглядит вот так:
А само письмо вот так:
В основном эти терминалом пользуются системные администраторы и с его помощью можно решать различные задачи, но рядовому пользователю достаточно знать, что он есть (кстати многие не знают) и умеnь от править через него письмо. На этом знакомство с Windows Powershell подошло к концу. Напишите, знали вы о таком приложении в Виндовс или узнали впервые?
Привет. В PHP довольно часто приходится работать со строками и массивами и почти во всех случаях требуется узнать их длину (length). Вполне типичная ситуация и для нее есть встроенные функции в PHP. Но есть некоторые нюансы, к примеру то, что одна из функций, которая показывает длину строки — srtlen считает не количество символов в тексте, а количество байт, который занимает каждый символ. Если латинский символ занимает 1 байт, то на кириллице он займет 2 байта. Об этом я же упоминал в статье по теме: как обрезать текст по количеству слов и символов. Но сейчас постараемся рассмотреть некоторые примеры более детально.
Узнать длину строки в PHP
Первая функция, которая будет вычислять длину строки в PHP, будет strlen.
1
2
3
$str="Hello World";echostrlen($str);// 11 символов вместе с пробелом
$str = "Hello World";
echo strlen($str);
// 11 символов вместе с пробелом
А если мы напишем примерно то же самое, но на русском, то получим такой вариант:
1
2
3
$str="Привет Мир";echostrlen($str);// 19 символов вместе с пробелом
$str = "Привет Мир";
echo strlen($str);
// 19 символов вместе с пробелом
В этом случае, как я уже говорил ранее, каждый символ займет 2 байта + 1 байт — это пробел. В итоге мы получим не совсем то, что ожидали. Поэтому в случае с кириллицей, чтобы определить длину строки, следует использовать другие функции. Первая — mb_strlen
1
2
3
$str="Привет Мир";echomb_strlen($str);// 10 символов вместе с пробелом
$str = "Привет Мир";
echo mb_strlen($str);
// 10 символов вместе с пробелом
В этом случае подсчет символов в строки будет одинаковым как на английском, так и на русском языках. Даже если символ занимает несколько байт, то будет посчитан, как один. Так же есть еще одна функция, чтобы узнать длину строки в символах — iconv_strlen
1
2
3
$str="Привет Мир";echoiconv_strlen($str);// 10 символов вместе с пробелом
$str = "Привет Мир";
echo iconv_strlen($str);
// 10 символов вместе с пробелом
iconv_strlen учитывает кодировку строки, ее можно указать вторым параметром. Если она не указана, то кодировка будет внутренней. То есть самого файла.
echoiconv_strlen($str,"UTF-8");
echo iconv_strlen($str, "UTF-8");
Если возникла необходимость проверить длину строки без пробелов, то потребуется дополнительная функция str_replace
1
2
3
4
$str="Привет Мир";echoiconv_strlen(str_replace(' ','',$str));// 9 символов без пробелов//iconv_strlen или mb_strlen
$str = "Привет Мир";
echo iconv_strlen(str_replace(' ', '', $str));
// 9 символов без пробелов
//iconv_strlen или mb_strlen
Узнать длину массива в PHP
функция, которая позволяет узнать длину массива в PHP — count.
1
2
3
$arr=["Иван","Марина","Сергей","Алина"];echo'Длина массива '.count($arr).' элемента';// Длина массива: 4 элемента
На этом можно завершить. Теперь вы можете самостоятельно узнать длину строки в PHP и определить длину массива. А если возникнут вопросы, задавайте их в комментариях.