2016-08-11 2 views
0

Я стараюсь, чтобы все ведущие и конечные пробелы были удалены из формы. Проблема возникла, когда пользователь ввел адрес электронной почты с пробелом, и когда они попытались войти в систему с этим адресом электронной почты, он не был принят. Я понимаю, что есть способы сделать это через серверную сторону, но выглядел быстро. Поэтому я использовал этот кусок кода:Гарантированный способ удаления верхних/конечных пробелов из ввода формы

$("input").change(function() 
{ 
    this.value=$(this).val().trim(); 
}); 

Я хочу знать, если кто-то может увидеть случай, когда это не будет работать, например, как человек, заполняя вход и ударяя вводите, а не табулируя или нажав на следующий вход ,

+1

Что делать, если какой-то пользователь имеет JS отключен? Убедитесь, что скрипт на стороне сервера может работать в случае сбоя со стороны интерфейса. – Himanshu

+0

Гораздо лучше просто сделать это на стороне сервера. Не полагайтесь на клиентскую JS для правильной проверки данных, если она входит в вашу логику приложения. – BadHorsie

ответ

1

Вы можете обрезать ввод на форме submit.


 
    $('input').blur(function(){ 
 
     this.value=$(this).val().trim(); 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<form> 
 
    <input type="text"><br><br> 
 
    <input type="text"><br><br> 
 
    <input type="submit" value="submit"> 
 
</form>

+0

Я пробовал это, и функциональность, похоже, не соответствует тому, что я пытаюсь сделать. Если вы нажмете на поле ввода, введите несколько символов, а затем несколько пробелов, выйдите из таблицы и верните пробелы. – EamonnMcElroy

+0

Как насчет сейчас? – jonju

+0

По-прежнему нет. Если я введу «ddddddddddd» и любую вкладку или щелкнуть другой вход, я вернусь, и вход все еще содержит «ddddddddddd». Вы получаете тот же результат? – EamonnMcElroy

Смежные вопросы