![](/img/trans.png)
[英]Console.logging and then returning the console.log within a javascript function
[英]JavaScript console.log from within a function
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="login.css">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<script src="jquery.serializeJSON.min.js"></script>
</head>
<body>
<script>
$(document).ready(function(){
$("#submit-button").click(function(e)
{
var username = JSON.serialize($('#username').val().toLowerCase());
console.log($('#username').val());
});
});
</script>
<div class="login-container">
<div class="title">Login Form</div>
<div class="form-fields">
<form name="login-form" id="login-form" method="POST">
<input type="text" name="username" placeholder="Username" required></input>
<input type="password" name="password" placeholder="Password" required></input>
<input type="submit" value="Log in" id="submit-button"></input>
</form>
</div>
我试图在序列化用户名变量后登录,但console.log不会从函数内打印任何内容。 在这种情况下进行调试的最佳方法是什么。
将字符串转换为小写字母的方法是toLowerCase
,而不是toLowerCaser
,并且字符串上没有serializeJSON
方法。 您将使用JSON.serialize
方法:
var username = JSON.serialize($('#username').val().toLowerCase());
要找到类似的错误,应在浏览器的错误日志中查找,它应显示一条错误消息,指出toLowerCaser
不是函数。 那应该告诉您,也许不是该方法被调用,而是在文档中查找它(例如https://developer.mozilla.org/en-US/ )。 修复该问题后, serializeJSON
会收到相同的错误。
要使用console.log
进行调试,您可以拆分各个步骤并逐步检查结果。 例如:
// check if jQuery found anything
console.log($('#username').length);
// check what the text is
console.log($('#username').val());
// check if toLowerCaser works
console.log($('#username').val().toLowerCaser());
// check if serializeJSON works
console.log($('#username').val().toLowerCaser().serializeJSON());
当您还显示了HTML代码时,我看到它不包含任何带有id="username"
元素,因此$('#username')
将是一个空的jQuery对象。
如果您尝试console.log($('#username').length);
您将看到它写出0
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.