我是javascript初学者。
js文件
var msgErrorPalletizedWeight = document.getElementById('msgError');
function palletizedWeightValidation() {
console.log("hello");
/*ERROR*/ msgErrorPalletizedWeight.innerHTML += ("Please enter all the values marked with *");
}
HTML
<head runat="server">
<title></title>
<link href="Styles/Site.css" rel="stylesheet" type="text/css" />
<script src="Scripts/file.js" type="text/javascript"></script>
</head>
<body>
<p id="msgError"></p>
<asp:Button ID="btnSubmitPalletized" runat="server" Text="Submit"
OnClientClick="palletizedWeightValidation()" />
</body>
ERROR
无法读取null
的属性'innerHTML'
我在这里询问之前搜索了很多网站,他们都建议在验证之前检查null,我可以做但我的问题是我想在p
标签中添加一些文字,你可以看到..如何实现那个?我甚至尝试追加,认为它可以解决问题。我知道这是一个愚蠢的错误,因为有很多帖子......问题是我无法理解我哪里出错了。
请帮忙。
答案 0 :(得分:4)
当trying
不是element
时,你ready
访问h palletizedWeightValidation
,将语句放在事件函数中以获取函数 function palletizedWeightValidation() {
var msgErrorPalletizedWeight = document.getElementById('msgError');
console.log("hello");
/*ERROR*/ msgErrorPalletizedWeight.innerHTML += ("Please enter all the values marked ith *");
}
中的元素。
<asp:Button ID="btnSubmitPalletized" runat="server" Text="Submit"
OnClientClick="return palletizedWeightValidation()" />
function palletizedWeightValidation() {
var msgErrorPalletizedWeight = document.getElementById('msgError');
console.log("hello");
/*ERROR*/ msgErrorPalletizedWeight.innerHTML += ("Please enter all the values marked ith *");
return false; // returning true will cause postback.
}
编辑 要停止回发,您需要从javascrip函数返回false。
{{1}}
答案 1 :(得分:1)
重要的是你的js文件被执行了。 如果在头标记内加载js文件,则在创建DOM之前将执行您的文件。这意味着,document.getElementById函数返回null。
答案 2 :(得分:0)
您获得的错误是由于您尝试读取NULL对象的属性而导致的。这意味着您的行:
var msgErrorPalletizedWeight = document.getElementById('msgError');
未在您的网页上找到任何元素。