Javascript 按submit时更改输入的样式

Javascript 按submit时更改输入的样式,javascript,html,css,onclick,jsfiddle,Javascript,Html,Css,Onclick,Jsfiddle,我有一个jsfiddle,我想在一个特定的颜色中更改输入文本的背景色,如果单词是well-type,那么在另一个颜色中更改输入文本的背景色,如果单词不是well-type。它目前不工作,但我在控制台中没有错误。如果你们能帮我 这是js函数,我记录了每个步骤,没有出现错误: function isCorrect() { var test = document.getElementById('test').value; if (test.value === "hello") { te

我有一个jsfiddle,我想在一个特定的颜色中更改输入文本的背景色,如果单词是well-type,那么在另一个颜色中更改输入文本的背景色,如果单词不是well-type。它目前不工作,但我在控制台中没有错误。如果你们能帮我

这是js函数,我记录了每个步骤,没有出现错误:

function isCorrect() {
  var test = document.getElementById('test').value;
  if (test.value === "hello") {
    test.classname = "correct"
    return true;
  } else {
    test.classname = "incorrect"
    return false;
  }
}
您有一些错误:

关键字是className而不是className。请换一下。 您已经获得了.value。不用再打电话了。 更正代码:

您有一些错误:

关键字是className而不是className。请换一下。 您已经获得了.value。不用再打电话了。 更正代码:

你在打电话。值两次。将其从第一行删除,因为否则您将向字符串值而不是输入元素添加应以骆驼式大小写的className

以下是更正后的代码和:

它正确地添加了类,但是您的CSS被覆盖了,所以我只是删除了用于说明的默认颜色

你在打电话。值两次。将其从第一行删除,因为否则您将向字符串值而不是输入元素添加应以骆驼式大小写的className

以下是更正后的代码和:


它正确地添加了类,但是您的CSS被覆盖了,所以我只是删除了用于说明的默认颜色。

您的值加倍了:

var test = document.getElementById('test').value;
                                          ^^^^^^
if (test.value === "hello") {
        ^^^^^^
test已经是该输入的值,这意味着它是一个普通字符串。字符串没有.value属性,因此您正在执行undefined==hello


你在价值观上加倍:

var test = document.getElementById('test').value;
                                          ^^^^^^
if (test.value === "hello") {
        ^^^^^^
test已经是该输入的值,这意味着它是一个普通字符串。字符串没有.value属性,因此您正在执行undefined==hello


我可以知道为什么你接受了另一个答案,而我的答案是第一个吗?实际上有3个错误,最后一个错误在他发布的JSFIDLE中是正确的,是关于css的,但我支持你的回答谢谢@mel。第三个错误是什么?@PraveenKumar,CSS工作不正常。另外,您发布的代码示例也不起作用。您删除了错误的.value调用,它应该从声明中删除,而不是从if语句中删除。@Brandon,从if语句中删除它和在声明中删除它有什么区别?两个答案都是一样的吗?我可以知道为什么你接受了另一个答案,而我的答案是第一个吗?实际上有3个错误,最后一个错误在他发布的JSFIDLE中是正确的,这是关于css的,但我支持你的回答谢谢@mel。第三个错误是什么?@PraveenKumar,CSS工作不正常。另外,您发布的代码示例也不起作用。您删除了错误的.value调用,它应该从声明中删除,而不是从if语句中删除。@Brandon,从if语句中删除它和在声明中删除它有什么区别?两者都有相同的权利吗?
function isCorrect() {
    var test = document.getElementById('test');
    if (test.value === "hello") {
        test.className = "correct";
        return true;
    } else {
        test.className = "incorrect";
        return false;
    }
}
var test = document.getElementById('test').value;
                                          ^^^^^^
if (test.value === "hello") {
        ^^^^^^
Also use className not classname
              ^             ^