Удалить сообщение о проверке поля ввода при отправке - PullRequest
0 голосов
/ 08 апреля 2020

У меня есть это поле ввода:

        <input type="text" name="email"
    id="<?php if(isset($error['email'])){echo "email";} ?>"
    placeholder="Enter email address"
    value="<?php if (!isset($error['email'])) echo "";
    else if($error['email'] == 'Enter email address') { echo "";}
    else if($error['email'] == 'Enter a valid email address') { echo htmlspecialchars($_POST['email'], ENT_QUOTES)." - Enter a valid email address";} ?>"
    class="<?php if(isset($error['email'])){echo "error-found";} else { echo "no-error";} ?>"
 tabindex="1">

и этот код Javascript:

var inputBox = document.getElementById("email");
inputBox.onfocus = function(){
    inputBox.value = inputBox.value.replace(" - Enter a valid email address","");
    inputBox.onfocus = null;
}

, который удаляет сообщение проверки, когда пользователь переходит в поле ввода.

Это работает как требуется, однако, когда пользователь не вводит go в поле ввода и отправляет форму, сообщение проверки снова добавляется в конец значения поля ввода.

Я хочу сообщение удалено при отправке, так что эта проблема будет решена.

Я пытался через PHP, но он не работает

else if($error['email'] == 'Enter a valid email address' &&
strpos(htmlspecialchars($_POST['email'], ENT_QUOTES), ' - Enter a valid email address') !== false){
echo str_replace(" - Enter a valid email address","",htmlspecialchars($_POST['email'], ENT_QUOTES));}

Поэтому я хотел бы продолжить через Javascript, если кто-либо могу указать на это мне. Очень признателен за ваш ответ.

...