私の画面にテキストボックスがあり(私が入力しているようなもの)、それを入力してから送信ボタンをクリックすると、ボックスに入力したものが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>
いいですね、それでいいのですが、関数の中にいるときにそのテキストボックスとボタンからの入力が必要で、関数を再起動したくないと言えますか?
ありがとう、ジェイク
スクリプトの実行中は、ページが何もしないようブロックします。これを回避するには、次の2つの方法のいずれかを使用します。
var foo = Prompt("Give me input");
を使用します。これにより、ユーザーがポップアップボックスに入力する文字列が表示されます(キャンセルする場合はnull
)これは悪いスタイルですが、似たようなことをする正当な理由があると思います。
<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行のコードを変更するだけです。
ユーザー入力を受け入れ、関数が画面に書き戻します。
<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>
入力タグの値を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>