我正在学习如何编程,所以请耐心等待。我非常需要验证表单中是否有空格需要填写,我使用的是javascript。我做了以下但由于某种原因,即使我填写所有空格,它仍然告诉我有空格。
(这是他对每个id的HMTML的看法)
<label for="txtNombre">Name</label>
<input type="text" id="txtName" placeholder="Name">
let inputName = document.querySelector('#txtName').value;
let inputLastName = document.querySelector('#txtLastName').value;
let inputPassword = document.querySelector('#txtPassword').value;
let inputConfirm = document.querySelector('#txtConfirm').value;
let inputDate = document.querySelector('#dDate').value;
function validateForm(){
let bError = false;
if(inputPassword === '' || inputConfirm === '' || inputName ==='' || inputLastName === '' || inputDate === ''){
bError = true;
showMessage(bError);
}else if (inputPassword === inputConfirm) {
inputPassword.classList.remove('borderError');
showMessage(bError);
} else{
inputPassword.classList.add('borderError');
bError = true;
showMessage2(bError);
}
}
function showMessage(pbError){
divMessage.innerHTML = '';
divMessage.classList.remove('error');
divMessage.classList.remove('correct');
let spanMessage = document.createElement('span');
let nodeMessage;
if(pbError === true){
divMessage.classList.add('error');
nodeMessage = document.createTextNode('Missing fields to be filled out');
}else{
divMessage.classList.add('correcto');
nodeMessage = document.createTextNode('Data saved');
}
spanMessage.appendChild(nodeMessage);
divMessage.appendChild(spanMessage);
divMessage.classList.remove('invisible');
}
答案 0 :(得分:0)
由于您的问题不包含任何html代码,并且因为我不确定您的javascript是否是整个脚本,或者如果在您的函数范围之外定义了任何内容,我的答案仅限于您拥有的信息提供。
首先,因为您是新开发者。你应该先学习 如何使用您正在使用的浏览器的开发人员工具(大多数 浏览器有它们)。那里应该有一个控制台,它会记录 你的javascript中发生的所有错误。这是最多的 调试代码的有效方法。
正如有人在这里评论了您的问题,最可能的错误是,您尝试验证的变量是否为空白,是未定义的变量。因此,它们永远不会匹配“”
在检查之前,您应该参考输入字段的值。
假设您有输入字段:
<input name="test" type="text" id="testinput" />
然后定义引用此输入值的变量,并检查其值:
var testInput = document.getElementById('testinput').value
if( testInput === "" ) //Do something
注意,有几种方法可以在javascript中引用DOM元素,getElementById只是其中之一。您应该做一些研究,并选择最适合您的解决方案
答案 1 :(得分:0)
假设您将输入值存储在inputPassword
等变量中,例如:
const inputPassword = document.getElementById('myInput').value
根据您发布的内容,您的代码应该可以正常工作。 希望它有所帮助