文本框为空时 onkeyup 不起作用
onkeyup not working when text box is empty
我旁边有一个文本框和一个提交按钮。该按钮处于禁用状态。一旦用户在文本框中键入内容,就应该启用它。那工作正常。但是一旦用户开始输入,它就会被启用。如果使用退格键将字段清空,按钮仍保持启用状态。
<html>
<body>
<input type="text" id="fname" onkeyup="myFunction()">
<input type="button" id="a" disabled = "true" value ="click me">
<script>
function myFunction()
{
var x = document.getElementById("fname");
x.value = x.value.toUpperCase();
if(x.value != " ")
{
document.getElementById('a').disabled=false;
}
}
</script>
</body>
</html>
你们很亲近。您所要做的就是检查长度 属性 并添加一个 else 语句以在文本框中没有值时禁用该按钮。
<html>
<body>
<input type="text" id="fname" onkeyup="myFunction()">
<input type="button" id="a" disabled = "true" value ="click me">
<script>
function myFunction() {
var x = document.getElementById("fname");
x.value = x.value.toUpperCase();
if(x.value.length > 0)
{
document.getElementById('a').disabled=false;
}
else
{
document.getElementById('a').disabled=true;
}
}
</script>
</body>
</html>
我建议您在 HTML
中使用此代码
<input type="submit" id="register" value="Register" disabled="disabled" />
并在 javascript
中进行以下更改
(function() {
$('form > input').keyup(function() {
var empty = false;
$('form > input').each(function() {
if ($(this).val() == '') {
empty = true;
}
});
if (empty) {
$('#register').attr('disabled', 'disabled'); // updated according to
} else {
$('#register').removeAttr('disabled'); // updated according to
}
});
我认为它确实有效well.Hope你得到了你想要的操作。
谢谢。
您需要分别编写 if else 条件才能起作用,Demo,并尽量避免将事件侦听器直接添加到标记中:)
$('#fname').keyup(function() {
//console.log('wor');
if(!$(this).val() == '') {
$('#a').prop("disabled", false);
}
else{
$('#a').prop("disabled", true);
}
})
您应该在您的条件中添加 else 语句,以便在文本框为空时禁用该按钮。试试下面的代码。
<html>
<body>
<input type="text" id="fname" onkeyup="myFunction()">
<input type="button" id="a" disabled = "true" value ="click me">
<script>
function myFunction() {
var x = document.getElementById("fname");
x.value = x.value.toUpperCase();
if(x.value != "")
{
document.getElementById('a').disabled=false;
}else {
document.getElementById('a').disabled=true;
}
}
</script>
</body>
</html>
如下所示更新您的脚本
function myFunction() {
var x = document.getElementById("fname");
x.value = x.value.toUpperCase();
if (x.value.length != 0) {--here is the change
document.getElementById('a').disabled = false;
}
else {
alert('Empty');
document.getElementById('a').disabled = true;
}
}
我旁边有一个文本框和一个提交按钮。该按钮处于禁用状态。一旦用户在文本框中键入内容,就应该启用它。那工作正常。但是一旦用户开始输入,它就会被启用。如果使用退格键将字段清空,按钮仍保持启用状态。
<html>
<body>
<input type="text" id="fname" onkeyup="myFunction()">
<input type="button" id="a" disabled = "true" value ="click me">
<script>
function myFunction()
{
var x = document.getElementById("fname");
x.value = x.value.toUpperCase();
if(x.value != " ")
{
document.getElementById('a').disabled=false;
}
}
</script>
</body>
</html>
你们很亲近。您所要做的就是检查长度 属性 并添加一个 else 语句以在文本框中没有值时禁用该按钮。
<html>
<body>
<input type="text" id="fname" onkeyup="myFunction()">
<input type="button" id="a" disabled = "true" value ="click me">
<script>
function myFunction() {
var x = document.getElementById("fname");
x.value = x.value.toUpperCase();
if(x.value.length > 0)
{
document.getElementById('a').disabled=false;
}
else
{
document.getElementById('a').disabled=true;
}
}
</script>
</body>
</html>
我建议您在 HTML
中使用此代码<input type="submit" id="register" value="Register" disabled="disabled" />
并在 javascript
中进行以下更改(function() {
$('form > input').keyup(function() {
var empty = false;
$('form > input').each(function() {
if ($(this).val() == '') {
empty = true;
}
});
if (empty) {
$('#register').attr('disabled', 'disabled'); // updated according to
} else {
$('#register').removeAttr('disabled'); // updated according to
}
});
我认为它确实有效well.Hope你得到了你想要的操作。 谢谢。
您需要分别编写 if else 条件才能起作用,Demo,并尽量避免将事件侦听器直接添加到标记中:)
$('#fname').keyup(function() {
//console.log('wor');
if(!$(this).val() == '') {
$('#a').prop("disabled", false);
}
else{
$('#a').prop("disabled", true);
}
})
您应该在您的条件中添加 else 语句,以便在文本框为空时禁用该按钮。试试下面的代码。
<html>
<body>
<input type="text" id="fname" onkeyup="myFunction()">
<input type="button" id="a" disabled = "true" value ="click me">
<script>
function myFunction() {
var x = document.getElementById("fname");
x.value = x.value.toUpperCase();
if(x.value != "")
{
document.getElementById('a').disabled=false;
}else {
document.getElementById('a').disabled=true;
}
}
</script>
</body>
</html>
如下所示更新您的脚本
function myFunction() {
var x = document.getElementById("fname");
x.value = x.value.toUpperCase();
if (x.value.length != 0) {--here is the change
document.getElementById('a').disabled = false;
}
else {
alert('Empty');
document.getElementById('a').disabled = true;
}
}