Изменение цвета фона текстового поля ввода с помощью JavaScript

#php #javascript #css #forms #validation

#php #javascript #css #формы #проверка

Вопрос:

Как мне изменить цвет фона текстового поля ввода с помощью Java script? Я хочу вставить его в функцию проверки формы следующим образом:

         function validateForm()
        {
        var x=document.forms["form1"]["username"].value;
        if (x==null || x=="")
          {
   document.forms["form1"]["username"].style.backgroundColor = Black
          }
        }
  

Кроме того, есть ли способ выполнить проверку формы с помощью php без создания двух страниц? Что бы вы порекомендовали? Использование JavaScript или php для проверки пользовательского ввода формы? У меня уже есть форма процесса php, которая проверяет, правильно ли пользователь ввел данные, такие как пароль и т. Д.

Спасибо за любую помощь

Комментарии:

1. Проверка ВСЕГДА должна выполняться на стороне сервера. Вы также можете выполнить проверку на стороне клиента, если хотите улучшить работу своих пользователей, но НИКОГДА не доверяете данным, которые отправляет вам пользователь. слишком легко обойти проверку на стороне клиента в браузере.

2. Спасибо, и если я использую клиентскую часть для обработки пустых полей пользователя и тому подобное, чтобы выделить пустое поле с помощью JS и использовать серверную часть для обработки проверки прохождения. вы бы предложили использовать только серверный php?

3. Что касается отображения и проверки с использованием одной страницы, это просто. Установите действие формы так, чтобы оно указывало на себя (не используйте голый $PHP_SELF !), А затем добавьте скрытый элемент формы : <input type="hidden" name="validate" value="1"> . Тогда это просто материя оператора if / else if (isset($_POST['validate'])){/* Process form */} else { /* display form */}

4. Нет, указание пустых полей, которые являются обязательными, является допустимым использованием JS, это улучшает пользовательский интерфейс. Было бы хорошо, если бы PHP также указывал пустые поля на случай, если кто-то проигнорирует предупреждения JS и все равно отправит форму или не включит JS. Я пытался сделать так, чтобы проверить данные на стороне сервера, прежде чем использовать их, Чтобы защитить себя от SQL-инъекций, XSS и т. Д. Часто люди просто предполагают, что их проверка JS защищает их от атак, но это не так.

Ответ №1:

Вы принимаете значение введенного текста. Вам нужно обратиться к самому элементу управления:

 function validateForm()
{
    var ctrl = document.forms["form1"]["username"];
    var x=ctrl.value;
    if (x==null || x=="") {
       ctrl.style.backgroundColor = color;
    }
}
  

Комментарии:

1. Должен ли я добавить его в эту строку? ////////Изменить цвет фона ///////<br />

2. document.forms["form1"]["username"].style.backgroundColor = color . В вопросе: «как изменить цвет фона» . Не весь фон.

3. Да, если вы хотите, чтобы он был там, вы добавляете его туда или куда угодно.

4. Вы бы порекомендовали использовать jacascript или мне следует проверить его и в моем процессе php? как вы выделяете пустые файлы, которые пользователь отправляет с помощью php?

5. На стороне клиента вам нужна проверка, чтобы предотвратить дополнительный запрос к серверу и мгновенно показывать ошибки пользователю, но если у вас есть проверка на стороне клиента, это не повод удалять проверку на стороне сервера (php). Итак, ответ: вам нужны обе проверки, клиентская и серверная.