当我在cordova 5.1应用程序中使用白名单插件时,我无法获得输入文本值,我收到错误"Uncaught TypeError:无法读取null的属性'value'"。请帮助我。
我已经添加了我的代码。
<html>
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript">
document.getElementById("loginsubmit").addEventListener("click", validationCheck(),false);
function validationCheck() {
alert("name =" + document.getElementById('username').value);
}
</script>
<head>
<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *">
</head>
<body>
<form method="post" class="login_forms">
<div class="loginform">
<div class="user">
<label class="usericon">UserName:</label>
<input type="text" id="username" name="username" size="20px">
</div>
<div class="pass">
<label class="passicon">Password:</label>
<input type="password" id="password" name="password" size="20px">
</div>
<div class="submit_btn">
<input type="button" class="loginsubmit" id="loginsubmit" name="loginsubmit" value="Login">
<input type="submit" class="logincancel" id="logincancel" value="Cancel">
</div>
</div>
</form>
</body>
</html>
您的代码试图在元素呈现到页面之前引用它。这就像在做玉米卷之前试着吃一个玉米卷,或者就像在一个人到达你的聚会之前喊他的名字。
您需要等待元素被渲染。因此,您需要将脚本放在正文的末尾,或者在文档就绪时调用它,或者在窗口加载时调用它。
下一个问题是,您正在调用validationCheck
,而不是引用它
document.getElementById("loginsubmit").addEventListener("click", validationCheck(),false);
^^^^
需要
document.getElementById("loginsubmit").addEventListener("click", validationCheck,false);