Страницы

Поиск по вопросам

Показаны сообщения с ярлыком html-form. Показать все сообщения
Показаны сообщения с ярлыком html-form. Показать все сообщения

среда, 5 февраля 2020 г.

Зачем нужен input type=“password”?

#html #html5 #html_form


Я разумеется понимаю, что в новой версии HTML5 данное поле чётко указывают браузеру
что мы в него прописываем именно пароль, и это вроде как, правильно с точки зрения
SЕО, но меня интересует именно внутренняя сторона. Почему пароль не прописывать просто
в поле input type="text", всё равно ведь сообщение до отправки на сервер не поддается
шифрованию, обычно (если это форма регистрации), а так это только визуально скрытое
маской поле 
    


Ответы

Ответ 1



Поле ввода типа "password" используется для тайного пользовательского ввода - вместо введёных символов на экране будут видны звёздочки или жирные точки, зависит от ОС и её настроек. В реальности при отправке формы данные будут отправлены как есть, открытым текстом без шифрования, если используется обычный HTTP. Исторически сложилось так, что это поле часто использовали для ввода паролей для регистрации или входа на сайт. Исходя из этого многие браузеры предлагают всякие фишки при взаимодействии с таким полем: Автоматическое запоминание и подстановку паролей, Предупреждение о незашифрованном соединении.

Ответ 2



Вы много видели сайтов что бы было поле пароля text? Если за вами стоит кто-то или вы показываете кому-то новый сайт где есть ваш аккаунт то вы не хотели бы что бы ваш пароль кто-то увидел. Пароль всегда скрывается точками что бы нельзя было прочитать, но некоторые добавляют кнопку "показать пароль" который вот и меняет тип в text что бы проверить его точность на случай надобности. Как сказал первый комментатор - это нужно только что бы его нельзя было легко прочитать. Вполне удобная и легкая в использовании штука.

воскресенье, 2 февраля 2020 г.

В адресной строке квадратные скобки пишутся вот таком виде “%5B%5D”

#html #get #html_form


Добрый день.

Есть форма с чекбоксами, метод передачи GET (часть html кода):

....
 Сервер 1
 Сервер 2
 Сервер 3
 Сервер 4
....


Если в браузере (хроме) заполнить поля и отметить, допустим, первый чекбокс, нажать
кнопку "отправить", то в адресной строке появиться вот такая запись:

mysite.ru/?serv%5B%5D=1 

%5B%5D - это ANSII код (если я не ошибся) символов "[]".

В ФФ все нормально, ИЕ, Хром и Старая опера - %5B%5D  (в новой не смотрел).
На странице установлено:




В htaccess установлено (я думаю, что это не важно):

AddDefaultCharset UTF-8


Вопрос

Как, не меняя логики формы, отобразить в адресной строке не mysite.ru/?serv%5B%5D=1,
а mysite.ru/?serv[]=1.

Большое спасибо за ответы.

(Добавлено)


  никак, ваши формы работают корректно, именно так как и должны работать.


Спасибо за ответ!
Но, как тогда получилось вот тут:

 rst.ua/oldcars/alfaromeo/?year[]=0&year[]=0&price[]=0&price[]=0&engine[]=0&engine[]=0&gear=0&fuel=0&drive=0&condition=0&model[]=11&model[]=15&model[2]=20&from=sform

    


Ответы

Ответ 1



%5B%5D - это ANSII код (если я не ошибся) символов "[]". нет, это не анси) и даже не ASCII, это урлкодированная строка ?serv%5B%5D=1 Это, абсолютно правильная урлкодированная строка Как, не меняя логики формы, отобразить в адресной строке не mysite.ru/?serv%5B%5D=1, а mysite.ru/?serv[]=1 никак, ваши формы работают корректно, именно так как и должны работать. https://ru.wikipedia.org/wiki/URL Прочтите раздел "Кодирование URL"

среда, 29 января 2020 г.

Очистка формы с помощью js.

#javascript #html #html_form


После отправки формы, она заполняется данными, которые ввел пользователь.
Из-за того, что страница обновляется с уже готовыми данными, форма по кнопке не очищается.
Как реализовать очищение формы? 
function  clearForm() {
    $("#name").val("");
    $("#pics").val("");
    $("#names").val("");
}

Не помогает.
Обновление
Я вешаю функцию на событие onclick при нажатии на кнопку очистки.
$('form input[type="text"], form input[type="password"], form textarea').val('');

не срабатывает так же. Я не хочу чистить форму автоматически, мне нужно, чтобы это
делал пользователь.    


Ответы

Ответ 1



$('form input[type="text"], form input[type="password"], form textarea').val('');

Ответ 2



В jQuery: $('form[name=myForm]').trigger('reset'); На чистом javascript: document.myForm.reset();

Ответ 3



http://www.javascript-coder.com/javascript-form/javascript-reset-form.phtml - вот хорошая статья по теме с примерами, и RubaXa с user210195 правильно посоветовали.
Company Name:
Select Business Type: Manufacturer Whole Sale Supplier Retailer Service Provider Email Address:
Keep Information Private:
https://jsfiddle.net/6g48kfpe/ - этот работающий пример. http://www.javascript-coder.com/files/javascript-clear-form/javascript-reset-form-example.html - оно же, но с дополнительной функцией, сбрасывающей все значения (даже те, у которых что-то стоит по умолчанию).

Ответ 4



document.getElementById('myForm').reset(), не?

Ответ 5



$(".any-button").click(function() { $("form")[0].reset(); });

вторник, 25 июня 2019 г.

express.js не могу получить post данные из формы

Есть следующая форма:


и файл server.js:
var express = require("express");
var bodyParser = require('body-parser'); var multer = require('multer'); // v1.0.5 var upload = multer(); // for parsing multipart/form-data
var app = express();
app.use(bodyParser.json()); // for parsing application/json app.use(bodyParser.urlencoded({ extended: true })); // for parsing application/x-www-form-urlencoded
app.set("view engine","ejs");
app.use(express.static(__dirname + "/public"));
app.get("/", function(req,res){ res.render("pages/index", { title: "Главная", msg: "Привет Мир!", data: q, info: "" }); });
app.post('/', upload.array(), function (req, res, next) { console.log(req.body); //{} console.log(req.body.title); //undefined console.log(req.body.data); //undefined
res.json(req.body); //{} });
app.get("/hello", function(req,res){ res.render("pages/other", { title: "Другая страница", msg: "hello world" }); });
app.use(function(req, res, next) { res.status(404).render("pages/error", { title: "ошибка 404", msg: "ошибка 404" });
res.status(500).render("pages/error", { title: "ошибка 500", msg: "ошибка 500" }); });
app.listen(8080); console.log("Сервер запущен!");
Делаю по туториалам, недавно начал с этим разбираться, столкнулся с тем, что создал форму, но получить на сервере данные никак я не могу. пробовал и req.query, и req.params('title') -- undefined.
Пакеты установил которые подключаю.
Собственно... много информации на английском языке -- может я что то упускаю?
Вопрос: Как получить данные из формы передаваемые методом post и обработать их на сервере используя технологии nodejs и express.js?


Ответ

Для отправки данных формы необходимо проименовать поля.


В name - с каким названием параметр прилетит серверу. id - ид инпута для браузера, с сервером не связан никак.

понедельник, 8 апреля 2019 г.

Зачем нужен input type=“password”?

Я разумеется понимаю, что в новой версии HTML5 данное поле чётко указывают браузеру что мы в него прописываем именно пароль, и это вроде как, правильно с точки зрения SЕО, но меня интересует именно внутренняя сторона. Почему пароль не прописывать просто в поле input type="text", всё равно ведь сообщение до отправки на сервер не поддается шифрованию, обычно (если это форма регистрации), а так это только визуально скрытое маской поле


Ответ

Поле ввода типа "password" используется для тайного пользовательского ввода - вместо введёных символов на экране будут видны звёздочки или жирные точки, зависит от ОС и её настроек. В реальности при отправке формы данные будут отправлены как есть, открытым текстом без шифрования, если используется обычный HTTP.
Исторически сложилось так, что это поле часто использовали для ввода паролей для регистрации или входа на сайт. Исходя из этого многие браузеры предлагают всякие фишки при взаимодействии с таким полем:
Автоматическое запоминание и подстановку паролей, Предупреждение о незашифрованном соединении.