当我尝试调用表单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;
答案 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)
同时将输入提交按钮设为&#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");
}
});