显示错误消息的困难

时间:2018-05-22 21:20:35

标签: javascript jquery

当我尝试调用表单ID并告诉代码我是否单击“提交”并且用户名和密码字段为空时显示"请输入登录名和密码。"当显示的字段上有文字时,请立即显示"这些都没有显示,我不确定我做错了什么



$(document).ready(function() {
     $("#login").click(function() {
  $("#login").toggleClass('minus');
         $("form").slideToggle(1000);


 $("form").submit(function(){
    if ("#username" == "" || "#pw" == "") {
      $("#error").text("Please enter both login and password.");
    } else {
      $("#error").text("Please stand by");
    }
     });
  }); // end click
}); // end ready

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
  <p>
    <label for="username">Username:</label>
    <input type="text" name="username" id="username">
  </p>

  <p>
    <label for="pw">Password:</label>
    <input type="password" name="pw" id="pw">
  </p>

  <p>
    <input type="button" value="Submit">
  </p>

  <!-- placeholder for response if form data is correct/incorrect --> 
  <p id="error"> </p>
</form>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:0)

您不是在比较这些元素的值,而是在比较f.e.字符串“#username”等于“”,它当然永远不会。您需要使用val()实际检索元素的值。

所以你可能会这样做:

if ($("#username").val() == "" || $("#pw").val() == "") {
    $("#error").text("Please enter both login and password.");
}

另外,请查看文档以获取进一步的帮助http://api.jquery.com/val/

答案 1 :(得分:0)

Here is fiddle

同时将输入提交按钮设为&#34;提交&#34;并检查&#34; .val()&#34;您的输入

$("#login").click(function() {
  $("#login").toggleClass('minus');
  $("form").slideToggle(1000);
}); // end click

$("form").submit(function(e) {
  e.preventDefault();

  if ( $("#username").val() === "" || $("#pw").val() === "" ) {
    $("#error").text("Please enter both login and password.");
  } else {
    $("#error").text("Please stand by");
  }
});