Javascript 如果任何字段留空,如何在表单中生成错误消息 名称 地址 函数chkform() { if(document.getElementById(“uname”).value==“”) { document.getElementById(“er1”).innerHTML=“名称不能为空”; document.getElementById(“er1”).style.color=“红色”; document.getElementById(“er1”).style.display=“block”; } }

Javascript 如果任何字段留空,如何在表单中生成错误消息 名称 地址 函数chkform() { if(document.getElementById(“uname”).value==“”) { document.getElementById(“er1”).innerHTML=“名称不能为空”; document.getElementById(“er1”).style.color=“红色”; document.getElementById(“er1”).style.display=“block”; } },javascript,forms,Javascript,Forms,我想在div中显示错误消息,如果任何字段留空,并且单击文本框时此消息应消失。使用以下命令将始终允许您添加输入,而无需重新编写验证函数: <form onsubmit="chkform()"> <table> <tr><td>name</td><td><input type="text" id="uname"/></td></tr>

我想在div中显示错误消息,如果任何字段留空,并且单击文本框时此消息应消失。

使用以下命令将始终允许您添加
输入,而无需重新编写验证函数:

     <form onsubmit="chkform()">
        <table>
        <tr><td>name</td><td><input type="text" id="uname"/></td></tr>
        <tr><td></td><td><div id="er1"></div></td></tr>
        <tr><td>address</td><td><input type="text" id="add"/></td></tr>
        <tr><td></td><td><div id="er2"></div></td></tr>
        </table>
        </form>
     <script>   
            function chkform()
            {


              if (document.getElementById("uname").value === "" ) 
              {

               document.getElementById("er1").innerHTML = "name cant be left blank"; 
               document.getElementById("er1").style.color = "red"; 
               document.getElementById("er1").style.display = "block"; 
              }
        }
</script>
函数chkform()
{
var form=document.getElementsByTagName('form')[0];
var inputs=form.getElementsByTagName(“输入”);
对于(变量i=0;i

我想您需要
返回到

function chkform()
{
    var form = document.getElementsByTagName('form')[0];
    var inputs = form.getElementsByTagName('input');

    for(var i = 0; i < inputs.length; i++){
        if(inputs[i].value === '')
            // do your error
    }
}
<form onsubmit="return chkform()">

尝试将两个输入框都添加到一个数组中,并循环它们以测试它们是否输入了值

我已经编辑了你的代码

function chkform() {
  if (document.getElementById("uname").value === "") {
    . . .
    return false;
  }

  if (document.getElementById("car").value == "truck") {
    . . .
    return false;
  }
  . . .
}
函数chkform()
{
var输入=[];
输入[0]=document.getElementById(“uname”);
输入[1]=document.getElementById(“添加”);
对于(i=0;i
您应该将else部分添加到if条件中,以便在填充thge字段后删除错误消息

function chkform()
                {

    var inputs = [];
    inputs[0] = document.getElementById("uname");
    inputs[1] = document.getElementById("add");

    for( i =0; i < inputs.length; i++) {

                  if (inputs[i].value === "" ) 
                  {

                   document.getElementById("er1").innerHTML = "Please fill out all form inputs!"; 
                   document.getElementById("er1").style.color = "red"; 
                   document.getElementById("er1").style.display = "block"; 
                  }
            }
    }


名称
地址
函数chkform()
{
if(document.getElementById(“uname”).value==“”)
{
document.getElementById(“er1”).innerHTML=“名称不能为空”;
document.getElementById(“er1”).style.color=“红色”;
document.getElementById(“er1”).style.display=“block”;
}
}

我没有看到任何提交
按钮
。为什么投票?如果地址字段为空,我假设您不希望出现“名称不能留空”的消息?你还试过别的吗?此外,自去年以来,大多数开发人员还没有将表用于布局目的century@andrew“…自上个世纪以来”是不必要的讽刺夸张。如果仅用于错误消息,您可以使用
而不是
。不要将此视为负面评论,但是为什么
点击
按钮的
,为什么不
提交
表单的
呢?请注意,这不适用于其他提交方式,例如,在字段内按enter键。我同意,但在哪个字段中按enter键会触发整个表单进行sumit?
如果(输入[I]。值=“”)
最有可能是
如果((输入[i].type==“text”| |输入[i].type==“password”)&&inputs[i].value==“i”)或者类似的东西
function chkform()
                {

    var inputs = [];
    inputs[0] = document.getElementById("uname");
    inputs[1] = document.getElementById("add");

    for( i =0; i < inputs.length; i++) {

                  if (inputs[i].value === "" ) 
                  {

                   document.getElementById("er1").innerHTML = "Please fill out all form inputs!"; 
                   document.getElementById("er1").style.color = "red"; 
                   document.getElementById("er1").style.display = "block"; 
                  }
            }
    }
else {
              document.getElementById("er1").innerHTML = ""; 
              document.getElementById("er1").style.display = "none";
              }
 <form onsubmit="return false">
        <table>
        <tr><td>name</td><td><input type="text" id="uname"/></td></tr>
        <tr><td></td><td><div id="er1"></div></td></tr>
        <tr><td>address</td><td><input type="text" id="add"/></td></tr>
        <tr><td></td><td><div id="er2"></div></td></tr>
        </table>
        <input type="submit" onclick="chkform()"/>
        </form>
     <script>   
            function chkform()
            {


              if (document.getElementById("uname").value === "" ) 
              {

               document.getElementById("er1").innerHTML = "name cant be left blank"; 
               document.getElementById("er1").style.color = "red"; 
               document.getElementById("er1").style.display = "block"; 
              }
        }
</script>