我想确保输入在提交之前有值,但是当我使用“”或“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
这个答案就像表单数据验证的另一种技术,因为我们有很多方法来实现表单数据验证,从基本到高级。