我想建立一个网页供用户练习代码练习。在javascript中。我正在寻找一种在浏览器 session 中执行代码并在出现任何错误时向用户显示的方法。我想知道通过从 textarea 中获取用户文本并将其作为函数的一部分执行是否可行。这是我得到的,但我无法发送到控制台用户输入的文本。任何帮助谢谢
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JScript Page</title>
<script>
function jstest() {
var text = document.getElementById("textArea").value;
console.log(text);
}
</script>
</head>
<body>
<h2>Enter your code here!</h2>
<form >
<textarea rows="4" cols="50" id="textArea">
</textarea><br>
<input type="submit" value="Submit" onclick="jstest()">
</form>
</body>
</html>
最佳答案
发生的事情是表单正在提交,它使页面刷新,这就是为什么您看不到 console.log
的原因。您可以返回 false
以阻止表单提交或完全删除 form
。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JScript Page</title>
<script>
function jstest() {
var text = document.getElementById("textArea").value;
console.log(text);
return false;
}
</script>
</head>
<body>
<h2>Enter your code here!</h2>
<form>
<textarea rows="4" cols="50" id="textArea">
</textarea><br>
<input type="submit" value="Submit" onclick="return jstest();">
</form>
</body>
</html>
没有表格(和评估)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JScript Page</title>
<script>
function jstest() {
var text = document.getElementById("textArea").value;
try {
eval(text);
} catch (e) {
if (e instanceof SyntaxError) {
alert(e.message);
}
}
}
</script>
</head>
<body>
<h2>Enter your code here!</h2>
<textarea rows="4" cols="50" id="textArea">alert('some')</textarea><br>
<input type="button" value="Submit" onclick="jstest();">
</body>
</html>
关于javascript - 如何将用户在 textarea 中输入的浏览器代码发送到 javascript 控制台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44599663/