Javascript 在Java脚本中显示不带警报框的错误消息

Javascript 在Java脚本中显示不带警报框的错误消息,javascript,html,Javascript,Html,请更正以下代码,因为它没有按预期工作,即,当用户输入无效名称时,我需要在表单中的文本字段旁边显示一条错误消息 <html> <head> <script type="text/javascript"> function validate() { if(myform.fname.value.length==0) { document.getElementById("fname").innerHTML="this is invalid n

请更正以下代码,因为它没有按预期工作,即,当用户输入无效名称时,我需要在表单中的文本字段旁边显示一条错误消息

<html>
  <head>
  <script type="text/javascript">
  function validate() {
  if(myform.fname.value.length==0)
  {
   document.getElementById("fname").innerHTML="this is invalid name ";
  }
  }
  </script>
  </head>
  <body>
  <form name="myform">
  First_Name
  <input type=text id=fname name=fname onblur="validate()"> </input>

  <br> <br>
  Last_Name
  <input type=text id=lname name=lname onblur="validate()"> </input>

  <br>
  <input type=button value=check> 

  </form>
  </body>
</html>

函数验证(){
if(myform.fname.value.length==0)
{
document.getElementById(“fname”).innerHTML=“这是无效的名称”;
}
}
名字




你可以这样试试

 <html>
          <head>
          <script type="text/javascript">
          function validate() 
          {
            var fnameval=document.getElementById("fname").value;
            var fnamelen=Number(fnameval.length);
               if(fnamelen==0)
               {
                  document.getElementById("fname_msg").innerHTML="this is invalid name ";
                }
            }
          </script>
          </head>
          <body>
          <form name="myform">
          First_Name
          <input type=text id=fname name=fname onblur="validate()"> </input>
           <span id=fname_msg></span>
          <br> <br>
          Last_Name
          <input type=text id=lname name=lname onblur="validate()"> </input>

          <br>
          <input type=button value=check> 

          </form>
          </body>
        </html>

函数验证()
{
var fnameval=document.getElementById(“fname”).value;
var fnamelen=编号(fnameval.length);
如果(fnamelen==0)
{
document.getElementById(“fname_msg”).innerHTML=“这是无效的名称”;
}
}
名字




在这里设置innerHtml的输入值不会有什么好处,可以尝试使用其他元素,如span,或者只显示以前生成的和隐藏的错误消息。 您可以设置名称字段tho的值


函数验证(){
if(myform.fname.value.length==0){
document.getElementById(“fname”).value=“这是无效的名称”;
document.getElementById(“errorMessage”).style.display=“block”;
}
}
名字
名称字段不能为空




网络管理员或网络程序员,请插入

<!DOCTYPE html>
input元素不应包含end元素,只需按如下方式关闭它:

 />
输入元素没有
innerHTML
,它有
value
,或者您的javascript行应该是:

document.getElementById("fname").value = "this is invalid name";

请以有条理的方式书写,并确保它便于使用标准。

首先,您尝试写入输入字段的innerHTML。这是行不通的。您需要有一个div或span来写入。尝试以下方法:

First_Name
<input type=text id=fname name=fname onblur="validate()"> </input>
<div id="fname_error"></div>
第二,对于使用onBlur进行此类操作,我总是犹豫不决。可以在不退出字段(例如返回键)的情况下提交表单,在这种情况下,您的验证代码将不会执行。我更喜欢从提交表单的按钮运行验证,然后仅当文档通过验证时才从函数中调用submit()。

请尝试以下代码

<html>
<head>
 <script type="text/javascript">
 function validate() {
  if(myform.fname.value.length==0)
  {
document.getElementById('errfn').innerHTML="this is invalid name";
  }
 }
 </script>
</head>
<body>
 <form name="myform">
  First_Name
  <input type=text id=fname name=fname onblur="validate()"> </input><div id="errfn">   </div>

<br> <br>
Last_Name
<input type=text id=lname name=lname onblur="validate()"> </input>

<br>
<input type=button value=check> 

</form>
</body>
</html>

函数验证(){
if(myform.fname.value.length==0)
{
document.getElementById('errfn').innerHTML=“这是无效的名称”;
}
}
名字



试着这样做:

function validate(el, status){
     var targetVal = document.getElementById(el).value;
     var statusEl = document.getElementById(status);
     if(targetVal.length > 0){
        statusEl.innerHTML = '';
  }
     else{
        statusEL.innerHTML = "Invalid Name";
   }
}
现在是HTML:

<!doctype html>
<html lang='en'>
<head>
<title>Derp...</title>
</head>
<body>
<form name="myform">
  First_Name
  <input type="text" id="fname" name="fname" onblur="validate('fname','fnameStatus')">
  <br />
  <span id="fnameStatus"></span>
  <br />
  Last_Name
  <input type="text" id="lname" name="lname" onblur="validate('lname','lnameStatus')"> 
  <br />
  <span id="lnameStatus"></span>
  <br />
  <input type=button value=check> 
</form>
</body>
</html>

德普。。。
名字





您应该使用.value而不是.innerHTML,因为它是一个输入类型表单元素

<html>
  <head>
  <script type="text/javascript">
  function validate() {
  if(myform.fname.value.length==0)
  {
   document.getElementById("fname").value="this is invalid name ";
  }
  }
  </script>
  </head>
  <body>
  <form name="myform">
  First_Name
  <input type=text id=fname name=fname onblur="validate()"> </input>

  <br> <br>
  Last_Name
  <input type=text id=lname name=lname onblur="validate()"> </input>

  <br>
  <input type=button value=check> 

  </form>
  </body>
</html>

函数验证(){
if(myform.fname.value.length==0)
{
document.getElementById(“fname”).value=“这是无效的名称”;
}
}
名字



试试这个

<html>
  <head>
  <script type="text/javascript">
  function validate() {
  if(myform.fname.value.length==0)
  {
   document.getElementById("error").innerHTML="this is invalid name ";
   document.myform.fname.value="";
   document.myform.fname.focus();
  }
  }
  </script>
  </head>
  <body>
  <form name="myform">
  First_Name
  <input type="text" id="fname" name="fname" onblur="validate()"> </input>
<span style="color:red;" id="error" > </span>
  <br> <br>
  Last_Name
  <input type="text" id="lname" name="lname" onblur="validate()"> </input>

  <br>
  <input type=button value=check> 

  </form>
  </body>
</html>

函数验证(){
if(myform.fname.value.length==0)
{
document.getElementById(“错误”).innerHTML=“这是无效的名称”;
document.myform.fname.value=“”;
document.myform.fname.focus();
}
}
名字




我同意@ReNjITh.R的回答,但如果您想在文本框旁边显示错误消息。就像下面

<html>
<head>
<script type="text/javascript">
    function validate() 
    {
        if(myform.fname.value.length==0)
        {
           document.getElementById('errfn').innerHTML="this is invalid name";
        }
    }
</script>
</head>
<body>
    <form name="myform">
         First_Name
         <input type=text id=fname name=fname onblur="validate()" /><span id="errfn"></span>
        <br> <br>
         Last_Name
         <input type=text id=lname name=lname onblur="validate()"/><br>
         <input type=button value=check /> 
    </form>
</body>


函数验证()
{
if(myform.fname.value.length==0)
{
document.getElementById('errfn').innerHTML=“这是无效的名称”;
}
}
名字



您也可以试试这个



姓名:
函数寄存器_validate()
{
var name=document.getElementById('name')。值;
提交=真;
如果(名称=“”)
{
document.getElementById('name\u error').innerHTML=“name是必需的”;
返回false;
}
返回并提交;
}
document.getElementById('name').onkeyup=removewarning;
函数removewarning()
{
document.getElementById(this.id+''u error').innerHTML=“”;
}

您应该将脚本代码放在HTML代码之后和正文标记中。这样它就不会在html代码之前运行。

与您的问题没有直接关系,但您的html遗漏了属性值周围的引号。你不应该错过他们。而且,
不需要
。如果编写XHTML,它应该是自动关闭的。它不是
.innerHTML
,当我在文本字段中使用“value”获取错误消息时,它是
value
hi@legendinmaking,但要求在文本字段旁边。要在文本字段旁边显示消息,您需要在文本字段旁边设置一个span,然后更改它的innerHTML。@legendinmaking进行了更改,甚至没有看到事件正在发生,可以吗把你写的全部代码。。。这将是一个很大的帮助
<html>
  <head>
  <script type="text/javascript">
  function validate() {
  if(myform.fname.value.length==0)
  {
   document.getElementById("fname").value="this is invalid name ";
  }
  }
  </script>
  </head>
  <body>
  <form name="myform">
  First_Name
  <input type=text id=fname name=fname onblur="validate()"> </input>

  <br> <br>
  Last_Name
  <input type=text id=lname name=lname onblur="validate()"> </input>

  <br>
  <input type=button value=check> 

  </form>
  </body>
</html>
<html>
  <head>
  <script type="text/javascript">
  function validate() {
  if(myform.fname.value.length==0)
  {
   document.getElementById("error").innerHTML="this is invalid name ";
   document.myform.fname.value="";
   document.myform.fname.focus();
  }
  }
  </script>
  </head>
  <body>
  <form name="myform">
  First_Name
  <input type="text" id="fname" name="fname" onblur="validate()"> </input>
<span style="color:red;" id="error" > </span>
  <br> <br>
  Last_Name
  <input type="text" id="lname" name="lname" onblur="validate()"> </input>

  <br>
  <input type=button value=check> 

  </form>
  </body>
</html>
<html>
<head>
<script type="text/javascript">
    function validate() 
    {
        if(myform.fname.value.length==0)
        {
           document.getElementById('errfn').innerHTML="this is invalid name";
        }
    }
</script>
</head>
<body>
    <form name="myform">
         First_Name
         <input type=text id=fname name=fname onblur="validate()" /><span id="errfn"></span>
        <br> <br>
         Last_Name
         <input type=text id=lname name=lname onblur="validate()"/><br>
         <input type=button value=check /> 
    </form>
</body>
<tr>
    <th>Name :</th>
    <td><input type="text" name="name" id="name" placeholder="Enter Your Name"><div id="name_error"></div></td>
</tr>



    function register_validate()
{
    var name = document.getElementById('name').value;
    submit = true;
    if(name == '')
    {
        document.getElementById('name_error').innerHTML = "Name Is Required";
        return false;
    }
    return submit;
}
document.getElementById('name').onkeyup = removewarning;
function removewarning()
{
    document.getElementById(this.id +'_error').innerHTML = "";
}