0

SO HTML テキスト ボックスの値または内容を取得しようとしています。さまざまな種類の方法を試しましたが、どれも機能しません。デバッガーによると、コードは getelementbyid メソッドで停止します。コメント行は、私がすでに試した方法です。それらのいくつかは null を返し、一部は NaN を返し、ほとんどは空白のページを返します。助けていただければ幸いです。

<html>
<head>
<script type="text/javascript" >
function calculateit(){
document.open();
var number = document.getElementsByName('xyz')[0].value

//var number = document.getElementsByName("xyz").value;
//var number = document.getElementsByName('xyz').value;
//var number = document.getElementsByName("xyz");
//var number = document.getElementsByName('xyz');

//var number = document.getElementsById("xyz").value;
//var number = document.getElementsById('xyz').value;
//var number = document.getElementsById("xyz");
//var number = document.getElementsById('xyz');

//var number = document.form1.xyz.value;  //form 1 was my form name and/or id 


document.writeln(number);

var newtemp = 0;

var newtemp = tempera *9/5+32;

document.write(newtemp);
}

</script>

</head>

<body>
<input type="text" id="xyz" name="xyz">
<button title="calculate" onclick="calculateit()">calculate </button>


</body>
</html>
4

2 に答える 2

2

間違った方法を使用しています。javascriptで広くサポートされている2つのメソッドは、「getElementsByTagName」と「getElementById」です。「getElementById」のスペルに正確に注意してください。これは、指定した正確なIDを持つ1つの要素を取得することを目的としています。「getElementsByTagName」は、「div」など、特定のタグのすべての要素を取得します。「getElementById」を使用する場合は、インデックスを作成する必要はありません。null(見つからない)または正確な要素参照を返します。そこから、テキストエリアであるため、「。value」を使用して、現在の値を取得できます。

また:

ページがレンダリングされた後は、おそらく「document.write」またはそれに関連する書き込みメソッドを使用しないでください。あなたの例では、それがまさにあなたがしていることなので、「。value」のものが機能するようになったら、それを変更します。重要なのは、「document.write」はページのレンダリング中の方が多いということです...したがって、JavaScriptの本文などとインラインでjavascriptを使用している場合。何かのようなもの:

<html>
<head>

</head>
<body>
    <script type="text/javascript">
        document.write("testing");
    </script>
</body>
</html>

大丈夫ですが、それでも好ましくありません。ボタンのクリックで呼び出される関数にそれがあるという事実は、それがページのレンダリング中ではなく、使用されるべきではないことを意味します。より実用的なアプローチは、<div>「。innerHTML」のようなものを使用して、ページ上にを置き、必要に応じてそれにテキストを追加することです。そうすれば、物事は動的であり、実際のドキュメントで上書きされることはありません。

于 2012-09-06T01:49:46.810 に答える
2

getElementsByIdではなくgetElementByIdです。

于 2012-09-06T01:50:13.037 に答える