-1

因此,对于一个学校项目,我们必须制作一个页面,其中包含一个表单、一堆字段和一个 html 提交。格式化是在外部 CSS 文件中完成的。最后,我们必须在外部 javascript 文件中对表单进行一些验证。所以最后,页面“由”3个文件组成。

验证的要求之一是不符合要求的文本字段将获得红色边框。起初,当我仍在使用原始 html 文件中脚本标签之间的所有 javascript 时,我通过向我的 CSS 文件添加一个类来实现这一点:

.error {
    border:2px solid red;
} 

并将其添加到与 javascript 有关的元素中:

document.getElementById("naam").className = document.getElementById("naam").className + " error";

一旦字段满足要求(例如在任何 if-tags 之外),我使用以下代码恢复更改

document.getElementById("naam").className =     document.getElementById("naam").className.replace("     error", "");

然而,现在,为了满足最后一个要求,我将所有的 javascript 移到了一个单独的文件 java.js 中,并在 html 中链接到它。

<script src="java.js"></script>

一切正常,除了css更改,我真的不知道如何或为什么。


哎呀,它正在工作;我只是没有看到它,因为它不太适合页面(将收到红色边框的元素都在页面的顶部,而按钮一直在底部)。不过在此之前,红色边框会一直保留到文本字段满足要求为止。现在,它会在我设置了所有警报之后重置页面,然后我才有机会看到它们是红色的。所以,我想真正的问题是页面重置,它清空所有文本字段,en 重置 css。

4

2 回答 2

0

您必须确保 html 文件可以加载外部 javascript 文件。您是否将外部 javascript 文件与 html 文件放在同一文件夹中?如果没有,您必须在 src-attribute 中输入正确的相对路径。

顺便说一句:您说的是外部java文件,但实际上您正在创建的是外部​​ javascript文件。他们一样!在 Web 应用程序的上下文中,Java 是一种服务器端技术,而 JavaScript 是客户端技术。

于 2013-11-06T14:20:27.403 回答
0

听起来问题是当您单击提交时页面正在重新加载。发生这种情况时,您的 javascript 对 CSS 所做的任何更改都将重置为初始加载状态。因此,您将需要在出现错误的情况下防止这种情况发生。

有关详细信息,请参阅希望 html 表单提交什么都不做。

于 2013-11-06T14:41:30.583 回答