如何在html中调用js代码?

时间:2017-06-24 02:38:14

标签: javascript jquery html

我在一个文件中有html js。我想要两个不同的文件jshtml

这是一个文件(第一种情况),这段代码可以工作:

<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.js文件位于同一文件夹中的文件html。这是第一个示例中<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代码? 我的错误?为什么第二种情况不起作用?如何解决这个问题?

3 个答案:

答案 0 :(得分:2)

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

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

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

将valid.js移出WEB-INF

后,更改引用中js路径的引用
 <script src="**valid.js**"></script>

答案 1 :(得分:0)

在正文标记的末尾添加ro.adb.secure=0

答案 2 :(得分:0)

它似乎也适用于第二种情况。您可以尝试将script src="valid.js" type="text/javascript"标记放在页面底部并使用此标记

array

包含的type属性与第一种情况一致,您可能希望使用某种Web server在开发环境中提供静态文件,而不是将文件拖到浏览器中。但是,它应该有用。