我正在编写输入网站并希望突出显示空字段。我想检查他们是否用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太短)但是当我链接hi功能时他们停止工作... 任何帮助将不胜感激!如果我描述的东西太模糊,请询问,我会尽力澄清!
答案 0 :(得分:2)
hi
中有语法错误:
});
^删除最后一个paren。
将来,打开浏览器的控制台并检查这样的错误 - 它使调试变得更加容易。
或者,您可以使用事件处理程序:
$('#button').click(function () {
console.log(document.getElementById('input1').value);
if (document.getElementById('input1').value === "") {
$('#input1').addClass('hi');
};
});
答案 1 :(得分: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()
。
答案 2 :(得分:0)
根据OP的要求 -
这是您可以将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");
}
答案 3 :(得分:-1)
您也可以尝试,
function hi()
{
if(document.getElementById('input1').value==="")
{
$('#input1').addClass('hi');
}
}