javascript - 如何在html中调用js代码?

标签 javascript jquery html

我有htmljs在一个文件中。我想要两个不同的文件 js , 和 html .

这一切都在一个文件中(第一种情况),这段代码有效:

<html>
<head>
    <title>menu</title>
    <script src="https://cdn.jsdelivr.net/jquery/1.12.4/jquery.min.js"></script>
    <script src="https://cdn.jsdelivr.net/jquery.validation/1.15.1/jquery.validate.min.js"></script>

</head>
<body>
<div class="container">
    <h2>Registration</h2>
    <form id="commentForm" method="post" action="Servlet" name="add_data">

        <label for="username">First Name</label>
        <input type="text" name="username" id="username" />

        <button type="submit">Register</button>

    </form>
    <script type="text/javascript">
        $(function() {
            // Initialize form validation on the registration form.
            // It has the name attribute "registration"
            $("form[name='add_data']").validate({
                // Specify validation rules
                rules: {
                    username: {
                        required: true,
                        minlength: 5
                    }
                },

                messages: {
                    username: "Please enter your firstname"
                },

                submitHandler: function(form) {
                    form.submit();
                }
            });
        });
    </script>
</div>
</body>
</html>

但是当我创建第二个文件时 valid.js并移动所有 JavaScript 代码,这是行不通的(第二种情况):

<html>
<head>
    <title>Меню</title>
    <script src="https://cdn.jsdelivr.net/jquery/1.12.4/jquery.min.js"></script>
    <script src="https://cdn.jsdelivr.net/jquery.validation/1.15.1/jquery.validate.min.js"></script>
    <script src="valid.js"></script>

</head>
<body>

<div class="container">
    <h2>Registration</h2>
    <form id="commentForm" method="post" action="Servlet" name="add_data">

        <label for="username">First Name</label>
        <input type="text" name="username" id="username" />

        <button type="submit">Register</button>

    </form>
</div>
</body>
</html>

和文件valid.jshtml 存在于同一文件夹中文件。这是 <script> 中的代码副本在第一个示例中阻止。

$(function() {
    $("form[name='add_data']").validate({
        rules: {
            username: {
                required: true,
                minlength: 5
            }
        },
        messages: {
            username: "Please enter your firstname"
        },

        submitHandler: function(form) {
            form.submit();
        }
    });
});

HTMLJS同一目录下的文件。可能我需要在 html 中调用我的 js 代码? 有我的错误吗?为什么第二种情况不起作用?如何解决这个问题?

最佳答案

JSP 和 JS 文件代码工作正常,我创建了 plunker 以供引用 - http://plnkr.co/edit/cRUr4AeWGMoJhEv5MRJw?p=preview

屏幕截图和控制台错误的问题是 JS 文件在您的目录结构中的位置。

WEB-INF下的所有文件对外不可用。将您的静态文件放在 WEB-INF 文件夹下,并将 JS 文件移出 WEB-INF,它将起作用。

将valid.js移出WEB-INF后,更改reference中js路径的引用

 <script src="**valid.js**"></script>

关于javascript - 如何在html中调用js代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44732213/

相关文章:

javascript - Node.js 有必要设置 Content-Type 吗?

javascript - 查找与给定输入关联的 html 标签

javascript - 当用户单击 font awesome 图标时删除按钮

javascript - `createImageData()` 和 `new ImageData()` 有何不同?

javascript - 使用带有原始 javascript 的 offsetWidth 属性设置元素的宽度

javascript - 调整屏幕大小后子菜单不显示

javascript - jQuery 使用变量在单击时更改背景颜色

jquery - HTML 选项卡控件

javascript - 如何将数据存储到 AngularJS 数组中

php - 如何将 mysql 数据库中的选定值与另一个表中的现有值进行比较?