【发布时间】:2018-12-14 09:46:14
【问题描述】:
当我想从 JavaScript 更改 css 样式时,我的网站出现了问题,但只有几秒钟。
function validateForm() {
var fname = document.getElementById('<%=UserFnameTextBox.ClientID%>');
if (fname.value == "") {
document.getElementById("WarnUserFnameTextBox").style.opacity = 1;
document.getElementById('<%=UserFnameTextBox.ClientID%>').style.borderColor = "red";
getElementById('<%=UserFnameTextBox.ClientID%>').focus;
}
}
我也在使用 Asp.net,这就是我这样写 ID 的原因
我希望 JS 会在用户输入文本框时保存样式。
【问题讨论】:
-
您正在提交一个表单,该页面作为服务器响应重新加载。请注意,最后一行缺少
document和()。 -
就像@Teemu 说的:您的样式触发正确,但是一旦您提交表单,您的网页就会重新加载并回退到“默认”值,好像 JS 永远不会触发(因为它真的没有在那“一生”中)。如果你想让它永久化,我建议你只要有错误就禁用提交按钮。这样,只要有错误,样式就可以使用。
-
请将返回结束设置为false
-
对于初学者来说,永远不要以这种方式访问数据,总是将 getElementById 的返回值分配给一个临时变量并检查它,在尝试访问它之前确保它有效,你的 Id 引用至少是无效的第二和第三不是。
-
@RaviChauhan 根据调用验证函数的方式,返回 false 可能有效,也可能无效。
标签: javascript html css