无法阅读财产'价值'如果Content-Security-Policy,则为null

时间:2015-11-30 13:11:00

标签: javascript html cordova

当我用科尔多瓦5.1应用程序,我不能让输入文本值的白名单的插件,我得到错误"遗漏的类型错误:无法读取属性'价值' null"。请帮助我。

我添加了我的代码。

<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>

1 个答案:

答案 0 :(得分:1)

您的代码尝试在将元素呈现到页面之前引用该元素。这就像在制作炸玉米饼之前尝试吃炸玉米饼一样,或者就像在他们到达你的派对之前先打电话给一个人的名字一样。

您需要等待呈现元素。因此,您需要将脚本放在正文的末尾,或者在文档就绪时调用它,或者在窗口onload上调用它。

下一个问题是您正在调用validationCheck,而不是引用它

document.getElementById("loginsubmit").addEventListener("click", validationCheck(),false);
                                                                               ^^^^

需要

document.getElementById("loginsubmit").addEventListener("click", validationCheck,false);