我想确保输入在提交之前有值,但是当我使用“”或“null”时,它不会禁用,并且无论怎样“”都会保持禁用状态。
这是我的代码:

var prevScrollpos = window.pageYOffset;
$(window).scroll(function() {
  var currentScrollPos = window.pageYOffset;
  if (prevScrollpos > currentScrollPos) {
    $("#container").fadeIn();
  } else {
    $("#container").fadeOut();
  }
  prevScrollpos = currentScrollPos;

});
if (document.getElementById("m").value === null) {
  document.getElementById("send").disabled = true;
} else if (document.getElementById("m").value !== null) {
  document.getElementById("send").disabled = false;
} else {
  $(function() {
    var socket = io();
    $('form').submit(function() {
      socket.emit('chat message', $('#m').val());
      $("#m").val("");
      return false;
    });
    socket.on('chat message', function(msg) {
      $('#messages').append($('<li>').text(msg));

    });
  });
}

<script src="/socket.io/socket.io.js"></script>
<script src="https://code.jquery.com/jquery-1.11.1.js"></script>
<div id="msgs">
  <ul id="messages"></ul>
</div>
<form action="">
  <div id="container">
    <input id="m" autocomplete="off" /><button id="send">Send</button>
  </div>
</form>

谢谢!

最佳答案

您可以考虑在HTML5中使用新的required属性:

<input id="m" autocomplete="off" required/>

更多信息:https://developer.mozilla.org/en-US/docs/Learn/HTML/Forms/Form_validation#The_required_attribute
这个答案就像表单数据验证的另一种技术,因为我们有很多方法来实现表单数据验证,从基本到高级。

10-02 19:52