【发布时间】:2021-07-30 02:35:24
【问题描述】:
更新的代码(仍然不起作用) 我一直在试图弄清楚为什么我的按钮在 html 上不起作用,并且我看到的所有教程都使用 React 或 Angular。我想知道是否有办法让我的代码在没有它的情况下运行。
这是我得到的最简单的方法,而且我一直关注的示例都没有让它运行。 目前它只是一个发出警报的按钮,我只需要帮助来弄清楚如何让这个小部分工作
编辑: 从 .ts 转换为 .js, 将 forgotBtn 更改为与 eventListener 相同
这是我的 HTML 代码:
<HTML>
<HEAD>
<TITLE>Capstone Typescript Login</TITLE>
</HEAD>
<BODY>
<header>
<h2>Billy Bronco's Grading Calculator</h2>
</header>
<div id="container">
<div id="tabs">
<p id="lt" class="tabs" onclick="loginTabFun()">Log in</p>
<p id="rt" class="tabs" onclick="regTabFun()">Register</p>
<link rel="stylesheet" href="Login.css">
<div id="clear"></div>
</div>
<div id="cont">
<div id="login" class="comm">
<h3>Sign in</h3>
<input id="se" type="email" placeholder="Email" required/>
<input id="sp" type="password" placeholder="Password" required/>
<input type="button" class="button" id="enter" value="Login">
<input type="button" class="button" id="forgotPass" value="Forgot Password?">
</div>
<div id="register" class="comm">
<h3>Register</h3>
<input id="re" type="email" placeholder="Email" required/>
<input id="rp" type="password" placeholder="Password" required/>
<input id="rrp" type="password" placeholder="Re write Password" required/>
<input type="submit" onclick="register()" value="Submit"/>
</div >
<div id="forgot" class="comm">
<h3>Forgot Password</h3>
<div>
<input id="fe" type="email" placeholder="Email" required/>
<input type="submit" onclick="forgot()" value="Submit"/>
</div>
</div>
</div>
</div>
<script src="LoginTs.js"></script>
</BODY>
</HTML>
这是我的打字稿代码:
class LoginTs{
username: string;
password: string;
constructor(username: string, password: string ) {
this.username=(<HTMLInputElement>document.getElementById("se")).value;
this.password=(<HTMLInputElement>document.getElementById("sp")).value;
let submitBtn= document.getElementById("enter")
submitBtn.addEventListener("click",(e:Event) =>{ return loginTs.validateInput()});
let forgotBtn= document.getElementById("forgotPass")
forgotBtn.addEventListener("click",(e:Event) =>loginTs.validateInput());
}
validateInput(){
return alert("wrong user or password but good job erin")
}
let loginTs = new LoginTs("billy", "bronco");
loginTs.validateInput();
谢谢!
【问题讨论】:
-
Typescript 不能在浏览器上本地运行。您必须使用 javascript 或使用编译器将您的 Typescript 转换为 Javascript。所以你的文件
<script src="LoginTs.ts"></script>将不会被正确解析。 -
就像@martin66 所说的Typescript 不是浏览器可以理解的东西,但是可以在浏览器中使用Typescript 而不必事先通过使用-> github.com/basarat/typescript-script
标签: javascript html typescript