1

我是 jquery 新手,我开始学习 jquery 基础知识。我为注册表单制作 jquery 脚本。它在提交单个或两个字段为空的表单时工作正常,查询显示错误消息,但如果我再次填写空字段,那么它也会显示相同的错误消息,并且在重新加载消息时停止显示。

<!DOCTYPE html>
<html>
<head>
<meta content="text/html;charset=utf-8" http-equiv="Content-Type">
<meta content="utf-8" http-equiv="encoding">
  <style>
  c { color:red; margin:4px; }
  b { color:blue; }
  </style>
  <script src="jquery-latest.js"></script>
  <script src="jquery.js"></script>
</head>
<body>

<h1>Registration Form:</h1>

<form id="form1">

<div>First Name<input type="text" name="fname" id="fname"><span></span></div>
<div>Last Name<input type="text" name="lname" id="lname"><span></span></div>
<div><input type="submit" value="submit" ></div>

</form> 

<script>

$(document).ready(function(){

    $("#form1").submit(function(){
        var $spans = $("span");

        if ($('#fname').val()=="") {    
        $spans.eq(0).html("<c>Please enter your Firstname</c>");
        }       
        if ($('#lname').val()==""){
        $spans.eq(1).html("<c>Please enter your Lastname</c>");

        }return false;

    });
});
</script>
4

1 回答 1

1

那是因为当输入不为空时,您不会删除文本内容。请注意,您不应将 jQuery 加载两次,并且c不是有效标签。

var $spans = $("span"); 
$("#form1").submit(function(){ 
    $spans.eq(0).html( $('#fname').val() == "" ? "Please enter your Firstname" : "");
    $spans.eq(1).html( $('#lname').val() == "" ? "Please enter your Lastname" : "");
    return false;
});
于 2013-01-07T11:42:23.273 回答