2016-08-11 55 views
0

我試圖確保從窗體中刪除所有前導和尾隨空格。當用戶輸入一個帶有空格的電子郵件地址時,問題就出現了,當他們試圖用這個電子郵件地址登錄時,它不被接受。我明白有辦法通過服務器端做到這一點,但看起來很快。所以我用這段代碼:從窗體輸入中剝離前導/尾隨空格的保證方法

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

我想知道如果任何人都可以看到這樣的情況:這是行不通的,比如一個人填寫的輸入然後按Enter鍵,而不是Tab鍵或單擊下一個輸入。

+1

如果一些用戶有什麼js中禁用?確保服務器端腳本可以處理前端部分發生故障的情況。 – Himanshu

+0

只要做到服務器端就好多了。如果數據進入您的應用程序邏輯,不要依賴客戶端JS對數據進行適當的驗證。 – BadHorsie

回答

1

您可以修剪表單提交上的輸入。


 
    $('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