如何从另一个页面上的点击处理程序更新页面?
How can I update a page from a click handler on another page?
我在 HTML 和 CSS & JS 中有一个“航班预订系统”。但问题是,当人们预订航班时,它应该更新他们仪表板中的文本,但它根本行不通。我按钮的“onclick 函数”没有连接到 JS 函数。请帮忙?
HTML For The Page:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>S.B.S Booking System</title>
<link rel="stylesheet" href="./style.css">
<script src="./script.js"></script>
</head>
<body>
<div class="sidenav">
<a href="./index.html">Home</a>
<a href="./book.html">Booking</a>
<a href="./dashboard.html">Dashboard</a>
<a href="./contact.html">Contact</a>
</div>
<h1 id="booktitle">Book A New Flight</h1>
<h2 id="booktitle2">To Book A New Flight, Please Fill In The Form Below</h3>
<form id="bookform" action="./contact.html">
<label style="font-weight: 700;" for="ftakeoff">Where Will You Be Taking Off From?</label> <br>
<input type="text" id="ftakeoff"><br>
<label style="font-weight: 700;" for="fland">Where Will You Be Landing?</label> <br>
<input type="text" id="fland"><br>
<label style="font-weight: 700;" for="fname">What Is Your First - And Last - Name(s)?</label> <br>
<input type="text" id="fname"><br>
<label style="font-weight: 700;" for="fphone">What Is Your Phone Number?</label> <br>
<input type="text" id="fphone"><br>
<label style="font-weight: 700;" for="fextra">Any Extra Info (E.G: Time Of Flight, Accocomadtion, etc)</label> <br>
<input type="text" id="fextra"><br>
<button id="fsubmit" type="submit" onclick="cbookings()">Submit Flight Booking</button>
</form>
<button onclick="cbookings()">Submit</button>
</body>
</html>
HTML For The Dashboard Page:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>S.B.S Booking Dashboard</title>
<link rel="stylesheet" href="style.css">
<script src="./script.js"></script>
</head>
<body>
<div class="sidenav">
<a href="./index.html">Home</a>
<a href="./book.html">Booking</a>
<a href="./dashboard.html">Dashboard</a>
<a href="./contact.html">Contact</a>
</div>
<h1 id="title1">Your Booking Dashboard</h1>
<h2 id="title2">Check Up On Your Flights</h2> <br> <br>
<h2 id="bstatus">No Bookings...</h2>
</body>
</html>
JS:
var statustext = document.getElementById("bstatus")
function cbookings() {
statustext.innerHTML = "1 Booking"
alert("Worked")
}
当我点击“fsumbit”时,它应该将“bstatus”更改为“1 Booking”。它只是不起作用。我的 JS 已连接到我的页面,因为当我在函数之外执行 JS 命令时,它可能会起作用。我正在使用基本的 JS 和代码。
这是我的 github 代表:
https://github.com/samykcodes/sbsystem
任何我的网站:
samsbookingsystem.netlify.app
您正在尝试使用 JS 代码修改网站的其他页面,这是不可能的。当您单击预订页面上的按钮时,document.getElementById("bstatus")
将变为 return 空值,因为在预订页面上没有 ID 为 'bstatus' 的元素。
这根本不是 JavaScript 的工作方式 -- 您不能引用未加载的页面元素。为了在一个页面上单击一个按钮并在另一个页面上更改值,您需要使用比与您的技能水平相关的方法复杂得多的方法。
短期内,您只需将按钮复制到仪表板页面,您就会看到它在那里起作用。
我在 HTML 和 CSS & JS 中有一个“航班预订系统”。但问题是,当人们预订航班时,它应该更新他们仪表板中的文本,但它根本行不通。我按钮的“onclick 函数”没有连接到 JS 函数。请帮忙?
HTML For The Page:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>S.B.S Booking System</title>
<link rel="stylesheet" href="./style.css">
<script src="./script.js"></script>
</head>
<body>
<div class="sidenav">
<a href="./index.html">Home</a>
<a href="./book.html">Booking</a>
<a href="./dashboard.html">Dashboard</a>
<a href="./contact.html">Contact</a>
</div>
<h1 id="booktitle">Book A New Flight</h1>
<h2 id="booktitle2">To Book A New Flight, Please Fill In The Form Below</h3>
<form id="bookform" action="./contact.html">
<label style="font-weight: 700;" for="ftakeoff">Where Will You Be Taking Off From?</label> <br>
<input type="text" id="ftakeoff"><br>
<label style="font-weight: 700;" for="fland">Where Will You Be Landing?</label> <br>
<input type="text" id="fland"><br>
<label style="font-weight: 700;" for="fname">What Is Your First - And Last - Name(s)?</label> <br>
<input type="text" id="fname"><br>
<label style="font-weight: 700;" for="fphone">What Is Your Phone Number?</label> <br>
<input type="text" id="fphone"><br>
<label style="font-weight: 700;" for="fextra">Any Extra Info (E.G: Time Of Flight, Accocomadtion, etc)</label> <br>
<input type="text" id="fextra"><br>
<button id="fsubmit" type="submit" onclick="cbookings()">Submit Flight Booking</button>
</form>
<button onclick="cbookings()">Submit</button>
</body>
</html>
HTML For The Dashboard Page:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>S.B.S Booking Dashboard</title>
<link rel="stylesheet" href="style.css">
<script src="./script.js"></script>
</head>
<body>
<div class="sidenav">
<a href="./index.html">Home</a>
<a href="./book.html">Booking</a>
<a href="./dashboard.html">Dashboard</a>
<a href="./contact.html">Contact</a>
</div>
<h1 id="title1">Your Booking Dashboard</h1>
<h2 id="title2">Check Up On Your Flights</h2> <br> <br>
<h2 id="bstatus">No Bookings...</h2>
</body>
</html>
JS:
var statustext = document.getElementById("bstatus")
function cbookings() {
statustext.innerHTML = "1 Booking"
alert("Worked")
}
当我点击“fsumbit”时,它应该将“bstatus”更改为“1 Booking”。它只是不起作用。我的 JS 已连接到我的页面,因为当我在函数之外执行 JS 命令时,它可能会起作用。我正在使用基本的 JS 和代码。
这是我的 github 代表: https://github.com/samykcodes/sbsystem
任何我的网站: samsbookingsystem.netlify.app
您正在尝试使用 JS 代码修改网站的其他页面,这是不可能的。当您单击预订页面上的按钮时,document.getElementById("bstatus")
将变为 return 空值,因为在预订页面上没有 ID 为 'bstatus' 的元素。
这根本不是 JavaScript 的工作方式 -- 您不能引用未加载的页面元素。为了在一个页面上单击一个按钮并在另一个页面上更改值,您需要使用比与您的技能水平相关的方法复杂得多的方法。
短期内,您只需将按钮复制到仪表板页面,您就会看到它在那里起作用。