javascript - Javascript 函数不工作,我如何将我的 javascript 文件添加到 html 并让它工作

标签 javascript html css

我已经完成了名为 script.js 的 javascript 文件和代码,并将其添加到我的 HTML 文件中。我对此很陌生,我不确定我是否做对了。这些功能似乎也不起作用。我很迷茫,只是想让你弄明白。谢谢。

这是我的 javascript 文件,名为 (script.js)

$(document).ready(function () {
//When add database, will pull total from database
var total = 30;
var totalTax = total * 0.8;
var totalShip = total * 0.3;
var totalAll = total + totalTax + totalShip;
document.getElementById("totalShop").innerHTML = total;
document.getElementById("totalTax").innerHTML = totalTax;
document.getElementById("shipping").innerHTML = totalShip;
document.getElementById("totalDue").innerHTML = totalAll;
});

function applyActiveCss(id) {

for (var i = 0; i < document.links.length; i++) {
    if (document.links[i].id == id) {
        document.links[i].className = 'active';

    }

    else {

        document.links[i].className = 'links';
    }
  }
}

function validateCheckout() {

if (document.checkoutForm.cardNumber.value == "") {
    alert("Please provide card number");
    document.checkoutForm.cardNumber.focus();
    return false;
}

if (document.checkoutForm.month.value == "" || isNaN(document.checkoutForm.month.value) ||
   document.checkoutForm.month.value.length != 2) {
    alert("Please provide your month");
    document.checkoutForm.month.focus();
    return false;
}

if (document.checkoutForm.year.value == "" || isNaN(document.checkoutForm.year.value) ||
   document.checkoutForm.year.value.length != 4) {
    alert("Please provide your month");
    document.checkoutForm.year.focus();
    return false;
  }
 return (true);
}

function validateUserInfo() {

if (document.userInfo.fullname.value == "") {
    alert("Please provide full name");
    document.checkoutForm.cardNumber.focus();
    return false;
}

if (document.userInfo.email.value == "") {
    alert("Please provide your Email!");
    document.userInfo.email.focus();
    return false;
}

var emailID = document.userInfo.email.value;
var atpos = emailID.indexOf("@");
var dotpos = emailID.lastIndexOf(".");

if (atpos < 1 || (dotpos - atpos < 2)) {
    alert("Please enter correct email ID")
    document.userInfo.email.focus();
    return false;
}

if (document.userInfo.zipcode.value == "" || 
 isNaN(document.userInfo.zipcode.value) ||
   document.userInfo.zipcode.value.length != 5) {

    alert("Please provide a zip in the format 12345");
    document.userInfo.zipcode.focus();
    return false;
}
var phoneID = document.userInfo.phone.value;
var dashpos1 = phoneID.indexOf("-");
var dashpos2 = phoneID.lastIndexOf("-");

for (var i = 3; i < 7; i++) {
    phoneID[i] = phoneID[i + 1];
}

for (var j = 6; j < 8; j++) {
    phoneID[j] = phoneID[j + 2];
}

if (document.userInfo.phone.value == "" || 
 document.userInfo.phone.value.length != 12
    || dashpos1 != 3 || dashpos2 != 7 || isNaN(phoneID)) {
    alert("Please provide a phone number in the format 123-456-7890");
    document.userInfo.phone.focus();
    return false;
  }
 return (true);
}

这是我名为 (userinfo.html) 的 HTML 文件的一部分

¿<!DOCTYPE html>

<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>Personal Information</title>
<link rel="stylesheet" type="text/css" href="StyleSheet1.css">  
</head>

<body>

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

<h1>User Information</h1>
<p>Please fill out the following information.</p>
<!--<form class="" action="submit.php" method="post">-->
<form action=".shipinfo.html" name="userInfo" onsubmit="return (validateUserInfo());">
    <table>
        <tbody>
            <tr>
                <td>
                    Full Name: <br>
                    <input type="text" maxlength="100" name="fullname" required>
                </td>
                <td>
                    Phone Number: <br>
                    <input type="number" minlength = "12" maxlength="12" name="phone"  
                           placeholder="123-456-7890">
                </td>
            </tr>
            <tr>
                <td>
                    Address Line 1: <br>
                    <input type="text" maxlength="100" name="add1" required>
                </td>
                <td>
                    Address Line 2: <br>
                    <input type="text" maxlength="100" name="add2">
                </td>
            </tr>
            <tr>
                <td>
                    City: <br>
                    <input type="text" maxlength="100" name="city" required>
                </td>

最佳答案

我在您的文件中没有看到以下 jquery 脚本(因此它没有读取文档就绪部分,您也没有在控制台中看到“文档已加载”。

<script src="https://code.jquery.com/jquery-1.9.1.min.js"></script>

您在控制台中遇到的另一个错误是“无法读取 null 的属性‘innerHTML’”:

  document.getElementById("totalShip").innerHTML = total;

当元素(在本例中为“totalship”)在您的网页中不可访问或不可用时,会发生这种情况,因此无法读取其属性。由于您正在访问一个id,您可以在这里提供您的css文件吗? 此外,目前无法通过这些文件(.userInfo、.checkoutForm 等)访问您的数据库。

关于javascript - Javascript 函数不工作,我如何将我的 javascript 文件添加到 html 并让它工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58460128/

相关文章:

javascript - 使用按钮将网站切换到持久全屏模式

html - 在 DIV 样式菜单中跨行跨行文本

html - :first-child CSS Selector not targeting correct element

html - 如果有足够的空间,为什么我的 float 元素会在较小的分辨率下中断?

javascript - 如何通过ajax load()函数发送图像文件并通过php插入mysql db显示在div中

javascript - 为什么 jquery 将鼠标悬停在一个元素上,突出显示所有元素

javascript - JQuery Animate 的问题

css - 减少元素之间的间距 - 多选下拉列表

javascript - 获取 $.post 返回 View

javascript - 如何在 React Native 中使用 Formik、Yup、Ui Kitten 的复选框和单选按钮