我希望我的屏幕上有一个文本框(就像我现在正在输入的那个),你可以输入然后点击一个提交按钮,它会将你输入的任何内容发送到javascript,然后javascript打印出来。这是我的代码这是有效的部分。
<html>
<body>
<input type="text" id="userInput"=>give me input</input>
<button onclick="test()">Submit</button>
<script>
function test()
{
var userInput = document.getElementById("userInput").value;
document.write(userInput);
}
</script>
</body>
</html>
好的,这样很好,但是我可以说当我已经在一个函数中并且不想重新启动该函数时,我想要从该文本框和按钮输入吗?
谢谢, 杰克
答案 0 :(得分:10)
当您的脚本运行时,它会阻止页面执行任何操作。您可以通过以下两种方式之一解决此问题:
var foo = prompt("Give me input");
,它会为您提供用户输入弹出框的字符串(如果取消,则为null
)答案 1 :(得分:4)
这是糟糕的风格,但我认为你有充分的理由做类似的事情。
<html>
<body>
<input type="text" id="userInput">give me input</input>
<button id="submitter">Submit</button>
<div id="output"></div>
<script>
var didClickIt = false;
document.getElementById("submitter").addEventListener("click",function(){
// same as onclick, keeps the JS and HTML separate
didClickIt = true;
});
setInterval(function(){
// this is the closest you get to an infinite loop in JavaScript
if( didClickIt ) {
didClickIt = false;
// document.write causes silly problems, do this instead (or better yet, use a library like jQuery to do this stuff for you)
var o=document.getElementById("output"),v=document.getElementById("userInput").value;
if(o.textContent!==undefined){
o.textContent=v;
}else{
o.innerText=v;
}
}
},500);
</script>
</body>
</html>
答案 2 :(得分:2)
晚读这个,但.. 我阅读你的问题的方式,你只需要改变两行代码:
接受用户输入,功能写回屏幕。
<input type="text" id="userInput"=> give me input</input>
<button onclick="test()">Submit</button>
<!-- add this line for function to write into -->
<p id="demo"></p>
<script type="text/javascript">
function test(){
var userInput = document.getElementById("userInput").value;
document.getElementById("demo").innerHTML = userInput;
}
</script>
答案 3 :(得分:0)
我尝试将输入标签的值发送/添加到对我来说效果很好的JavaScript变量中,下面是代码:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function changef()
{
var ctext=document.getElementById("c").value;
document.writeln(ctext);
}
</script>
</head>
<body>
<input type="text" id="c" onchange="changef"();>
<button type="button" onclick="changef()">click</button>
</body>
</html>