为什么我的 html/javascript 代码不起作用?
Why isn't my html/javascript code working?
我正在努力做到这一点,所以当我访问该网站时,有一个按钮,当您按下它时,它会提示您输入 "What's the password?" 为了确定它是否正确,我使用了连接字符串接受提示答案并添加 .html 到最后,我希望它重定向到 (passwordtheyenter).html,所以如果他们输入 "test" 作为密码,它会带他们去 "test.html"
这是我的代码:
<!DOCTYPE html>
<html>
<head>
<script>
function testFunction() {
var str1 = prompt.("What's the password?");
var str2 = ".html";
var pass = str1.concat(str2);
}
</script>
</head>
<body>
<button onclick="testFunction()">Chat</button>
<script>
open.window(pass)
</script>
</body>
</html>
谢谢。
pass
变量仅在 testFunction
内部定义,因此当您尝试调用 open.window
时无法访问它。
尝试在 testFunction
中返回 pass
并将结果传递给 open.window
您的 HTML/Javscript 代码无法正常工作的主要原因有四个。
首先,变量 pass
的作用域仅在函数内定义,因此只能在该函数内访问。在函数外定义它,然后在函数内设置它的值。
编辑:因为 pass
现在只被函数使用,不需要在它之外定义。
接下来,我相信您正在尝试使用 window.open() 函数。您在代码中写了 open.window()。
第三,你不小心在 prompt() 调用后出现了句号
第四,您应该在函数中调用 window.open(),这样它才不会 运行 直到用户实际单击按钮。
<!DOCTYPE html>
<html>
<head>
<script>
function testFunction() {
var str1 = prompt("What's the password?");
var str2 = ".html";
var pass = str1 + str2;
window.open(pass);
}
</script>
</head>
<body>
<button onclick="testFunction()">Chat</button>
</body>
</html>
您可能正在寻找:
function testFunction() {
// Prompt user for input
var str1 = window.prompt("What's the password?");
// Append .html to user input
var str2 = ".html";
// Open new window with concatenated result
window.open( str1.concat(str2) );
}
然后您可以删除:
<script>
open.window(pass)
</script>
尝试将第一个脚本标记替换为下面的标记。
建议使用标签的 'type' 属性来定义脚本类型。
<script type="text/javascript">
function testFunction() {
var str1 = prompt("What's the password?");
window.open(str1+".html");
}
</script>
您的代码存在的问题如下:
prompt.()
是句法无效的 Javascript 代码。它会给你一个错误,可以在控制台中看到(你可以通过在大多数浏览器中按 F12 或在 Opera 中按 CTRL+SHIFT+I 打开它)。
open.window()
是语义无效的 Javascript 代码。没有全局变量 open
。你可能想要的是 window.open(...)
.
你的代码写的方式没有多大意义。当按钮被点击时,该函数被调用,但它什么都不做。底部的 Javascript 会给你一个错误,但即使它是有效的 Javascript 它仍然会给你一个错误,因为变量 pass
没有在全局范围内定义;它是在函数内部定义的。一旦函数有运行,变量就会被遗忘
最好在按钮上添加点击处理程序:
<!doctype html>
<!-- The button -->
<button id="my-button">Chat</button>
<script>
// Get the button
var myButton = document.getElementById("my-button");
// Set a click handler on the button
myButton.onclick = function () {
// Get the page
var page = prompt("What's the password?");
// Set a new location for the window; this sends the
// current page to the new page
window.location = page + ".html";
};
</script>
我正在努力做到这一点,所以当我访问该网站时,有一个按钮,当您按下它时,它会提示您输入 "What's the password?" 为了确定它是否正确,我使用了连接字符串接受提示答案并添加 .html 到最后,我希望它重定向到 (passwordtheyenter).html,所以如果他们输入 "test" 作为密码,它会带他们去 "test.html"
这是我的代码:
<!DOCTYPE html>
<html>
<head>
<script>
function testFunction() {
var str1 = prompt.("What's the password?");
var str2 = ".html";
var pass = str1.concat(str2);
}
</script>
</head>
<body>
<button onclick="testFunction()">Chat</button>
<script>
open.window(pass)
</script>
</body>
</html>
谢谢。
pass
变量仅在 testFunction
内部定义,因此当您尝试调用 open.window
时无法访问它。
尝试在 testFunction
中返回 pass
并将结果传递给 open.window
您的 HTML/Javscript 代码无法正常工作的主要原因有四个。
首先,变量 pass
的作用域仅在函数内定义,因此只能在该函数内访问。在函数外定义它,然后在函数内设置它的值。
编辑:因为 pass
现在只被函数使用,不需要在它之外定义。
接下来,我相信您正在尝试使用 window.open() 函数。您在代码中写了 open.window()。
第三,你不小心在 prompt() 调用后出现了句号
第四,您应该在函数中调用 window.open(),这样它才不会 运行 直到用户实际单击按钮。
<!DOCTYPE html>
<html>
<head>
<script>
function testFunction() {
var str1 = prompt("What's the password?");
var str2 = ".html";
var pass = str1 + str2;
window.open(pass);
}
</script>
</head>
<body>
<button onclick="testFunction()">Chat</button>
</body>
</html>
您可能正在寻找:
function testFunction() {
// Prompt user for input
var str1 = window.prompt("What's the password?");
// Append .html to user input
var str2 = ".html";
// Open new window with concatenated result
window.open( str1.concat(str2) );
}
然后您可以删除:
<script>
open.window(pass)
</script>
尝试将第一个脚本标记替换为下面的标记。 建议使用标签的 'type' 属性来定义脚本类型。
<script type="text/javascript">
function testFunction() {
var str1 = prompt("What's the password?");
window.open(str1+".html");
}
</script>
您的代码存在的问题如下:
prompt.()
是句法无效的 Javascript 代码。它会给你一个错误,可以在控制台中看到(你可以通过在大多数浏览器中按 F12 或在 Opera 中按 CTRL+SHIFT+I 打开它)。open.window()
是语义无效的 Javascript 代码。没有全局变量open
。你可能想要的是window.open(...)
.你的代码写的方式没有多大意义。当按钮被点击时,该函数被调用,但它什么都不做。底部的 Javascript 会给你一个错误,但即使它是有效的 Javascript 它仍然会给你一个错误,因为变量
pass
没有在全局范围内定义;它是在函数内部定义的。一旦函数有运行,变量就会被遗忘
最好在按钮上添加点击处理程序:
<!doctype html>
<!-- The button -->
<button id="my-button">Chat</button>
<script>
// Get the button
var myButton = document.getElementById("my-button");
// Set a click handler on the button
myButton.onclick = function () {
// Get the page
var page = prompt("What's the password?");
// Set a new location for the window; this sends the
// current page to the new page
window.location = page + ".html";
};
</script>