我想在某些输入内的值为空时另一个元素为空时向元素添加一个类。Javascript函数IF声明不起作用
由于某种原因,它只是登陆else语句,我以为我使用正确的语法来发送多个参数,但也许我错了。
任何想法?
var btnElementRegistro = document.getElementById('btnGuardar');
btnElementRegistro.addEventListener('click' , validar);
function validar(){
var elementNombre = document.getElementById('txtNombre'),
elementApellido1 = document.getElementById('txtApellido1'),
elementCel = document.getElementById('numCelular');
addClass(txtNombre,txtApellido1,numCelular);
}
function addClass(pName, pApellido, pCel){
if(pName.value === '' && pApellido === '' && pCel ===''){
pName.className = "error";
pApellido.className = "error";
pCel.className = "error";
}else{
pName.className = "noError";
pApellido.className = "noError";
pCel.className = "noError";
}
}
在此先感谢。
编辑:我想要使用if/else,以便我可以调用另一个函数来显示一个div(PopUp)时添加.noError。
var elementoVerInfo = document.getElementById('btnGuardar'),
elementoBotonCerrar = document.getElementById('btnCerrar');
elementoVerInfo.addEventListener('click', function() {
displayPopUp('popUpCorrecto2');
});
elementoBotonCerrar.addEventListener('click', function() {
hidePopUp('popUpCorrecto2');
});
function displayPopUp(pIdDivToShow){
var fElementDivToShow = document.getElementById(pIdDivToShow),
newClass ='';
newClass = fElementDivToShow.className.replace('hide','');
fElementDivToShow.className = newClass + ' show';
}
function hidePopUp(pIdDivToShow){
var fElementDivToShow = document.getElementById(pIdDivToShow),
newClass ='';
newClass = fElementDivToShow.className.replace('show','');
fElementDivToShow.className = newClass + ' hide';
}
你应该传递变量名字 - 'addClass(elementNombre,elementApellido1,elementCel);'等等,而不是ID的的这些变量('txtNombre','txtApellido1'和'numCelular')。 – lifetimes
您只检查其中一个变量的值... if(pName.value ===''&& pApellido ===''&& pCel ==='') –
当您调试应用程序时,是参数定义?我猜测其中一个或全部都是未定义的,并且使你的平等陈述是错误的。 – VtoCorleone