[解決済み] Javascript Idで要素を取得し、値を設定する
2023-05-06 18:23:06
質問
javascriptの関数で、パラメータを渡すものがあります。パラメータは、私のウェブページの要素(隠しフィールド)のIDを表しています。私はこの要素の値を変更したい。
function myFunc(variable){
var s= document.getElementById(variable);
s.value = 'New value'
}
これを実行すると、オブジェクトがNULLなので値を設定できないというエラーが出ます。しかし、ブラウザによって生成されたhtmlコードで見ているので、オブジェクトがヌルでないことは分かっています。 とにかく、私はデバッグのために次のコードを試してみました。
function myFunc(variable){
var x = variable;
var y = 'This-is-the-real-id'
alert(x + ', ' + y)
var s= document.getElementById(x);
s.value = 'New value'
}
アラートメッセージが表示されたとき、両方のパラメータは同じですが、まだエラーが発生します。しかし、次のようにするとすべてうまくいきます。
var s= document.getElementById('This-is-the-real-id');
s.value = 'New value'
どのように私はこれを修正することができますしてください
編集
値を設定する要素はhiddenフィールドで、idはページが読み込まれたときに動的に決定されます。$(document).ready関数に以下を追加してみましたが、うまくいきませんでした。
どのように解決するのですか?
textareaがページにレンダリングされる前にmyFunc(変数)が実行されると、null例外エラーが発生します。
<html>
<head>
<title>index</title>
<script type="text/javascript">
function myFunc(variable){
var s = document.getElementById(variable);
s.value = "new value";
}
myFunc("id1");
</script>
</head>
<body>
<textarea id="id1"></textarea>
</body>
</html>
//Error message: Cannot set property 'value' of null
というわけで、textareaがページ内に存在することを確認し、myFuncを呼び出すには、window.onloadまたは$(document).ready関数を使うことができます。 お役に立てれば幸いです。
関連
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] let "と "var "の使い分けは?
-
[解決済み] JavaScriptでオブジェクトをディープクローンする最も効率的な方法は何ですか?
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] JavaScriptでタイムスタンプを取得する方法は?
-
[解決済み] とは何ですか! (not not)演算子とは何ですか?
-
[解決済み] JavaScriptで現在のURLを取得する?
-
[解決済み】JavaScriptの関数にデフォルトのパラメータ値を設定する
-
[解決済み] なぜ "use strict "はパフォーマンスを10倍向上させるのか?
-
[解決済み] JavaScriptのArray.sort()メソッドでシャッフルするのは正しいのか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] AngularJSのエラーです。Cross Origin リクエストはプロトコルスキーム http, data, chrome-extension, https に対してのみサポートされています。
-
[解決済み] 上級者向けJavaScript。この関数はなぜ括弧でくくられるのですか?重複
-
[解決済み] 文字列が空白であるかどうかをチェックする
-
[解決済み] JavaScriptを使用してHTML要素に属性を追加/更新するには?
-
[解決済み] Javascript 空の配列の削減
-
[解決済み] JavaScriptで文字列を数値に変換する最速の方法は何ですか?
-
[解決済み] Javascript / jQueryでAndroid端末を検出する。
-
[解決済み] JavaScriptでの大文字小文字を区別しない正規表現
-
[解決済み] AngularJS - ngRepeatフィルタリングされた結果の参照を取得する方法
-
[解決済み] JSHintの'+'前の改行不良の説明