2014-03-26 162 views
0

我正在编写一个输入网站,并且想突出显示空白字段。我想检查if语句是否为空,然后添加突出显示它们的类。在if语句中添加类

我的代码:

JS:

var hi = function() 
{ 
    if(document.getElementById('input1').value==="") 
    { 
     $('#input1').addClass('hi'); 
    }; 
}); 

我把它做成了功能,这样我就可以把它在HTML文件中。

HTML:

<input type="text" name="firstname" class="ip" id="input1" placeholder="firstname"> 

调用JS:

<input type="button" onclick="dcc(); pwc(); hi();" value="Submit" id="button"> 

不同的文件(JS和HTML链接和工作)。

CSS:

.hi { 
    border-color: red; 
    border-width: 0.01em; 
    margin-right: 15em; 
    margin-top: 1.05em; 
    float: right; 
} 

我的问题是:在点击按钮没有反应,显示出了另外两个函数(警报告知所选择的PW太短用户),但是当我挂喜功能,他们停止工作... 任何帮助将不胜感激!如果我描述的东西太模糊,请问,我会尽力澄清!

+0

一个的jsfiddle重现问题将帮助我们解决它 – SomeKittens

+0

经常检查你的JavaScript错误控制台。如果没有错误,你可以在你的'hi'函数中放入'console.log'语句来清楚地说明它正在做什么。(或者,您可以使用浏览器的调试工具。) –

+0

@JeremyJStarcher感谢您的建议!我到底需要放置console.log语句? – user3466038

回答

2

你有一个语法错误hi

}); 

^删除最后一个括号。

将来,打开浏览器的控制台并检查这样的错误 - 它使调试更容易。

JSFiddle

或者,您可以使用此事件处理程序:

$('#button').click(function() { 
    console.log(document.getElementById('input1').value); 
    if (document.getElementById('input1').value === "") { 
     $('#input1').addClass('hi'); 
    }; 
}); 
+0

感谢您的快速回答!我很新,学习:D我知道萤火虫是一个插件,但是它以相似的方式使用吗? – user3466038

+0

@ user3466038是的! Firefox有一个基本的控制台,以及一些帮助调试的优秀插件。如果我回答了您的问题,请不要忘记加入并接受! – SomeKittens

+0

现在的问题是,我的警报功能正在工作,但输入字段没有突出显示,即使它仍然是空的...可能是一个问题,在HTML文件中调用函数? – user3466038

1

它看起来你在你的JS有一个语法错误。

var hi = function() { // cleaner to have the bracket here 
    if(document.getElementById('input1').value==="") { 
     $('#input1').addClass('hi'); 
    } // no semicolon 
}; // no parenthesis 

此外,而不是使用document.getElementById('input1').value,使用jQuery,因为你有它! $('#input1').val()

+0

他为什么要用jQuery? – hanleyhansen

+0

因为他已经在使用它。 – Scimonster

+0

@hanleyhansen,他并不是“必须”,但如果他已经引用了jQuery,那么将它与 - 在这个意义上说是冗余的本地代码混合在一起是一种坏习惯。 –

-1

您也可以尝试像,

function hi() 
{ 
    if(document.getElementById('input1').value==="") 
    { 
     $('#input1').addClass('hi'); 
    } 
} 
+0

这完全没有关系,并且你甚至在那里留下了语法错误 –

0

每任择议定书的要求 -

这是你可以把console.log语句跟踪发生了什么的地方。

var hi = function() 
{ 
    console.log("'Hi' - Entering function"); 
    if(document.getElementById('input1').value==="") 
    { 
     console.log("'Hi' - Condition true - doing addClass"); 
     $('#input1').addClass('hi'); 
    }; 
    console.log("'Hi' - Leaving function"); 
} 

现在,这么说,我在现实中,我做的事情更像是:

var hi = function() 
{ 
    console.log("'Hi1"); 
    if(document.getElementById('input1').value==="") 
    { 
     console.log("'Hi2"); 
     $('#input1').addClass('hi'); 
    }; 
    console.log("'Hi3"); 
} 
+0

非常感谢真的很感谢! – user3466038