仅在填写文本时启用按钮(无空格)

时间:2017-04-09 10:51:59

标签: javascript jquery html

我四处寻找我的问题的答案,但我发现的所有解决方案都没有考虑到空格也可以作为输入。

我有一个连接功能,如果用户只输入空格,则不应该启用该按钮。它应该需要实际的文本。任何人都有解决方案吗?

这是我的功能:

$("#join").click(function(){
        var name = $("#name").val();
        if (name != "") {
            socket.emit("join", name);
            $("#login").detach();
            $("#UsersOnline").show();
            $("#msg").show();
            $("#messaging").show();
            $("#msg").focus();
            ready = true;
        }

1 个答案:

答案 0 :(得分:0)

你可以使用jquery trim()

var name = $.trim($("#name").val());

https://api.jquery.com/jQuery.trim/

编辑:

正如@David Thomas指出的那样,我们也可以使用String.prototype.trim()

var name = $("#name").val().trim();

function updateResult() {
  var before = $("#name").val().replace(/\s/g,'SPACE');
  var name = $("#name").val().trim();

   $('#result').text('Before:' + before + "\nAfter:" + name);

}

$(document).ready(function(){

  updateResult();

  $('body').on('keyup','#name',function(){
  
    updateResult();
  
  });

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>By default value i left left a space for the name</p>
Name : <input type="text" id="name" value=" "><br>
<br>
Value of name : <pre id="result">empty</pre>