0

私は2つのファイルを持っています。1 html と js。html ファイルにはチェック ボックスがあります。チェックボックスを選択すると、フラグが設定されます。そして、このフラグは .js ファイルに入れる必要があります。フラグが設定されているかどうかに基づいて、js ファイルでいくつかの操作を実行します。基本的に、htmlファイルから設定されたフラグがjavascriptファイルで利用できるようにするにはどうすればよいですか?

ありがとうございました。

HTMLファイル

function checkWIFI(){

if(document.getElementById('wifi').checked == true) 

wifiFlag.changeFlag(true);

else 

wifiFlag.changeFlag(false); 

}

JavaScriptファイル

wifiFlag = new testFlag(); 

function testFlag()

{

this.flag = false;

} 

testFlag.prototype.changeFlag = function(newFlag)

{

 this.flag = newFlag; 

} 
4

4 に答える 4

2

これにはグローバル変数を使用して、JS ファイルの先頭で宣言できます。の下で宣言するものは何でもwindow、グローバル変数になります。JS ファイルの先頭に次の行を追加します。

window.flag = 0;

チェックボックスで、変更するときにフラグを設定します。

<input type="checkbox" name="flag"
       onclick="if (this.checked) window.flag = 1; else window.flag = 0;" />

これで、 を使用してフラグにアクセスできますwindow.flag

if (window.flag == 1)
    // Do something
else
    // Do something
于 2013-02-15T04:42:25.910 に答える
0

私が提案する最も安全なアプローチは、利用可能になったデータ属性を使用することです。例えば、

<input type="checkbox" name="firstCheckbox" data-flag="old">

このアプローチでは、古いブラウザが文句を言わないため、丁寧にフォールバックできます。複数のチェックボックスがある場合は、チェックボックスごとに追加のマークアップは必要ありません。グローバル変数を使用すると、問題や名前空間の問題が発生する可能性があります。隠し値も良いアプローチです:)

2つの方法のいずれかを使用して、データ属性の値を取得できます。1)古いJavaScriptメソッドであるgetAttributeは、データフラグを取得します。jQueryでは、attr()を使用します。2).dataset配列プロパティに格納されているHTML5の方法、つまり.dataset ['flag']であり、jQueryで同等のものは.data('flag')です。

アンジェラ

于 2013-02-15T05:02:50.110 に答える
0

必要なコンテキスト情報を提供できるように、.js ファイルにある JavaScript を作成することをお勧めします。したがって、チェックボックスの値に渡すことができる関数または何かを記述します。これにより、コードの再利用性が向上し、グローバル ウィンドウに縛られることがなくなります。チェックボックスの値が変更されるたびにこのコードを開始し、チェックボックスの値を列挙してコードに渡すことができます。グローバル変数を使用しないことをお勧めします。絶対に必要な場合は、名前を付けてください。

于 2013-02-15T04:49:04.700 に答える
0

HTMLで隠し変数を宣言します

<input type="hidden" id="hidden1" >

値を設定します

document.getElementById('hidden1').value = '//your returned value';

スクリプトの隠し値にアクセスする

var x=document.getElementById("hidden1").value;
alert(x);

これがうまくいくことを願っています..

于 2013-02-15T04:45:20.537 に答える