Javascript 提交前确保输入字段具有值
我想在提交之前确保输入有值,但当我使用或“null”时,它、null不会禁用它,并且无论发生什么情况都会保持禁用状态。 这是我的密码: var prevScrollpos=window.pageYOffset; $window.scroll函数{ var currentScrollPos=window.pageYOffset; 如果prevScrollpos>currentScrollPos{ $container.fadeIn; }否则{ $container.fadeOut; } prevScrollpos=当前ScrollPos; }; 如果document.getElementByIdm.value==null{ document.getElementByIdsend.disabled=true; }如果document.getElementByIdm.value!==空的{ document.getElementByIdsend.disabled=false; }否则{ $function{ var-socket=io; $'form'.submitfunction{ socket.emit'chat message',$'m'.val; $m.val; 返回false; }; socket.on'chat message',functionmsg{ $'messages'。追加$.textmsg; }; }; } 邮寄Javascript 提交前确保输入字段具有值,javascript,jquery,html,Javascript,Jquery,Html,我想在提交之前确保输入有值,但当我使用或“null”时,它、null不会禁用它,并且无论发生什么情况都会保持禁用状态。 这是我的密码: var prevScrollpos=window.pageYOffset; $window.scroll函数{ var currentScrollPos=window.pageYOffset; 如果prevScrollpos>currentScrollPos{ $container.fadeIn; }否则{ $container.fadeOut; } prev
您可以考虑在HTML5:< /P>中使用新的必需属性
<input id="m" autocomplete="off" required/>
有关更多信息:
这个答案就像一个替代的表单数据验证技术,因为我们有很多方法来实现表单数据验证,从基本到高级。
< P>您可以考虑在HTML5:< /P>中使用新的必需属性。<input id="m" autocomplete="off" required/>
有关更多信息:
这个答案就像表单数据验证的另一种技术,因为我们有很多方法来实现表单数据验证,从基本到高级。您可以使用值的长度
if (document.getElementById("m").value.length>0) concole.log('input not empty');
您可以使用值的长度
if (document.getElementById("m").value.length>0) concole.log('input not empty');
我不是Jquery专家,我不明白你为什么要使用它,但你的问题是你没有事件监听器来监听你所更改的元素。这意味着-Javascript在运行时记住元素中的值,稍后当您更改它时,如果没有合适的侦听器,它将无法读取新值。因此,它将保持禁用状态。阅读有关Jquery的更改侦听器的内容我不是Jquery专家,我不明白您为什么要使用它,但您的问题是您没有更改元素的事件侦听器。这意味着-Javascript在运行时记住元素中的值,稍后当您更改它时,如果没有合适的侦听器,它将无法读取新值。因此,它将保持禁用状态。阅读Jquery的变更监听器,我不认为required是一个好方法,因为我只需查看html代码就可以轻松禁用它 因此,您应该做的是添加一个事件侦听器。每次用户键入内容时,您都会检查输入是否为空。如果是,则禁用按钮;如果不是,则激活按钮
还有:始终检查后端以及 我不认为required是一个好方法,因为我可以通过查看html代码轻松禁用它 因此,您应该做的是添加一个事件侦听器。每次用户键入内容时,您都会检查输入是否为空。如果是,则禁用按钮;如果不是,则激活按钮
还有:始终检查后端以及 required不是一个好的解决方案,因为您可以在浏览器控制台中打开它 我建议: 如果document.getElementByIdm.value=={ //代码在这里。。。 } 您可以查看此以了解更多信息
我希望这将帮助您所需不是一个好的解决方案,因为您可以在浏览器控制台中打开它 我建议: 如果document.getElementByIdm.value=={ //代码在这里。。。 } 您可以查看此以了解更多信息
我希望这将帮助您请使用if document.getElementByIdm.value==而不是您的
<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>
</body>
<script src="/socket.io/socket.io.js"></script>
<script src="https://code.jquery.com/jquery-1.11.1.js"></script>
<script>
var prevScrollpos = window.pageYOffset;
$(window).scroll(function () {
var currentScrollPos = window.pageYOffset;
if (prevScrollpos > currentScrollPos) {
$("#container").fadeIn();
} else {
$("#container").fadeOut();
}
prevScrollpos = currentScrollPos;
});
runcheck();
$("#m").keyup(function(){
runcheck();
});
function runcheck(){
if (document.getElementById("m").value == '') {
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>
请使用if document.getElementByIdm.value==代替您的
<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>
</body>
<script src="/socket.io/socket.io.js"></script>
<script src="https://code.jquery.com/jquery-1.11.1.js"></script>
<script>
var prevScrollpos = window.pageYOffset;
$(window).scroll(function () {
var currentScrollPos = window.pageYOffset;
if (prevScrollpos > currentScrollPos) {
$("#container").fadeIn();
} else {
$("#container").fadeOut();
}
prevScrollpos = currentScrollPos;
});
runcheck();
$("#m").keyup(function(){
runcheck();
});
function runcheck(){
if (document.getElementById("m").value == '') {
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>
问题
在您的示例代码中,我可以看到几个问题
似乎您没有一个侦听器来侦听输入的更改
您需要在html元素上添加一个事件侦听器,以了解是否有任何更改。请参见,然后根据您获得的事件,您可以使用event.target.value检查值。
你的价值检查是错误的
只需执行ifdocument.getElementByIdm.value不需要===null,就可以检查字段是否有值。
解决方案
只需在html元素上使用必需的属性。这将添加基本的html表单验证,并在输入为空时阻止提交。只要它在表单元素中。有关更多信息,请参阅
<input id="m" autocomplete="off" required/>
请注意,在大多数浏览器中,更改侦听器仅在焦点更改为其他元素时触发。所以你可能想检查一下keyup之类的东西。查看此处的事件:在左侧菜单的“事件”下
附言:一般来说。查看您的代码。我建议学习一些关于web开发的入门课程,特别是html+css+javascript。我想codecademy是一个很好的起点。问题
在您的示例代码中,我可以看到几个问题
似乎您没有一个侦听器来侦听输入的更改
您需要添加一个事件侦听
在html元素上添加er,以了解是否有任何更改。请参见,然后根据您获得的事件,您可以使用event.target.value检查值。
你的价值检查是错误的
只需执行ifdocument.getElementByIdm.value不需要===null,就可以检查字段是否有值。
解决方案
只需在html元素上使用必需的属性。这将添加基本的html表单验证,并在输入为空时阻止提交。只要它在表单元素中。有关更多信息,请参阅
<input id="m" autocomplete="off" required/>
请注意,在大多数浏览器中,更改侦听器仅在焦点更改为其他元素时触发。所以你可能想检查一下keyup之类的东西。查看此处的事件:在左侧菜单的“事件”下
附言:一般来说。查看您的代码。我建议学习一些关于web开发的入门课程,特别是html+css+javascript。我想codecademy是一个很好的起点。只需添加一个必需的输入标记!您也可以尝试这种方式。如果您正在页面上查找自定义验证,您也可以尝试这种方式。请参阅这使您能够检查所有错误值,而不是冗长的if语句。只需添加一个必需的输入标记!您也可以这样尝试。如果您正在页面上查找自定义验证,您也可以这样尝试。请参阅这使您能够检查所有错误值,而不是冗长的if语句。您还可以关闭Javascript:@DavidLavender如何为每个用户关闭Javascript?您还可以关闭Javascript:@DavidLavender如何为每个用户关闭javascript?