私は JavaScript の初心者で、今は自分でいくつかの練習をしています。プラクティスの 1 つは、テキスト ボックスから値を取得し、アラート ウィンドウまたは を使用して HTML ページに書き留めることDocument.writeln()
です。しかし、その後、私はいくつかの奇妙な問題に気づきます。このJavaScriptを実行しようとすると:
<!DOCTYPE html>
<html>
<head>
<meta charset = "utf-8">
<title>HTML Practice</title>
<script type="text/javascript" >
function testing(){
window.alert("testing");
document.writeln("test");
document.writeln("test");
document.writeln("test");
document.writeln("test");
window.alert(document.getElementById('test0').value);
window.alert(document.getElementById('test2').value);
}
</script>
</head>
<body>
<table>
<tr>
<td><label>TextBox</label></td>
<td><input type="text" id="test0" value="12" /></td>
</tr>
<tr>
<td><label>Another TextBox</label></td>
<td><input type="text" id="test2" value="3" /></td>
</tr>
<tr>
<td><input type="button" id="button" value="Click here!" onclick="testing()" /></td>
<td>Click this button to read the text in textbox</td>
</tr>
</table>
</body>
</html>
アラート ウィンドウは表示されますが、最後の 2 つのアラート ウィンドウは表示されません。奇妙なことに、このようにjavascriptの2つの下の行を上に移動すると
window.alert(document.getElementById('test0').value); //this code is now on top
window.alert(document.getElementById('test2').value);
window.alert("testing");
document.writeln("test");
document.writeln("test");
document.writeln("test");
document.writeln("test");
これら 2 つの警告ウィンドウが表示されます。別の問題もあります。この問題を追跡するために、いくつかのバリエーションを試します。
document.writeln(document.getElementById('test0').value);
document.writeln(document.getElementById('test2').value);
window.alert("testing");
document.writeln("test");
document.writeln("test");
document.writeln("test");
document.writeln("test");
test0
そしてtest2
私の2つのテキストボックスのIDです。test0
との値がtest2
それぞれ 12 と 3 の場合、警告ウィンドウは表示されず、HTML ページに次のように表示されます。
12
しかし、これらの 2 つの上部の行を次のように下部に配置すると、次のようになります。
window.alert("testing");
document.writeln("test");
document.writeln("test");
document.writeln("test");
document.writeln("test");
document.writeln(document.getElementById('test0').value);
document.writeln(document.getElementById('test2').value); //Now on the bottom
上記と同じテキストボックス値を使用すると、警告ウィンドウが表示され、これが HTML ページに表示されます。
test test test test
私が期待したのは、出力が次のようになることです。
test
test
test
test
12
3
線の位置だけを変更すると、出力が大きく異なるのはなぜですか? の使用法に何か問題がありDocument.Writeln()
ますか?