2017-03-28 6 views
1

さて、私はフォームを持っています。それに関数を適用した。ユーザーがsubmitを押したときにフォームの空白を停止する

私がしたいのは、フォームが送信されて関数が起動され、空白があるかどうかがチェックされ、メッセージがスローされます。私は、次があります。

function empty() { 
 
    var x; 
 
    x = document.getElementById("Username").value; 
 
    if (x == "") { 
 
    alert("Please ensure you fill in the form correctly."); 
 
    }; 
 
}
<input type='submit' value='Register' onClick='return empty()' /> 
 
<input type='text' id="Username" />

誰かが一度スペースバーを押すと、空白の1行を入力した場合のためにこれは素晴らしいですが、どのように私は機能を編集するようにどんなに多くの空白の空白はスペースバーに入力され、常に警告が返されます。

ありがとうございます。私はJavaScriptがとても新しいです。だから穏やかにしてください。

+0

私は正確にはわかりませんが、あなたは.trim()を考えているかもしれません – Ronan

答えて

3

文字列をテストする前にトリミングします。

x = document.getElementById("Username").value.trim(); 

これにより、値の先頭と末尾の空白が削除されます。

0

私は同じ関数を作成しました。私は別のチェック(倍数の空白を検出する正規表現を含む)を追加しました。だからここのコードです:ここで

function checkEmpty(field){ 
    if (field == "" || 
     field == null || 
     field == "undefinied"){ 

     return false; 
    } 
    else if(/^\s*$/.test(field)){ 
     return false; 
    } 
    else{ 
     return true; 
    } 
} 

はjQueryを使って作業例です:https://jsfiddle.net/p87qeL7f/ここ

は、純粋なJavaScriptでの例です:https://jsfiddle.net/g7oxmhon/

注:機能checkEmptyまだ両方で同じです

+0

これをjQueryフレームワークなしで提供できますか?私にとってはうまくいきません。 – AK1991IT

+0

もちろん、私は例を更新しました。関数 'checkEmpty'はまだ同じですが、私はちょうど以下のjqueryのものを変更しました:) – TriForce

関連する問題