2017-04-05 11 views
-1

ドロップダウンメニューから選択した値に基づいてページを更新(自動リフレッシュ)する方法を教えてください。グーグルでは、これは私がこれまで持っていたものです。以下のコードを参照してください。ドロップダウン選択値(javascript/html)に基づく自動リフレッシュ

<form> 
Update interval (in seconds): 
<select name="interval" id="interval"> 
<option value="5">10</option> 
<option value="10">10</option> 
<option value="15">15</option> 
<option value="20">20</option> 
</select> 
</form> 

<script type="text/JavaScript"> 
window.setTimeout('window.location="";', document.getElementById('interval').value*1000); 
</script> 

私が今直面しています問題は、ページが唯一の選択にかかわらず値、(ドロップダウンに最初の選択)5秒間隔で更新されていないということです。私はhtmlとjavascriptに相対的に新しいです、うまくいけば、誰かがこれを手助けすることができます。それ以外の場合は、ちょうど(あなたのサンプルコードで5)、ページの読み込みで選択した値に基づいて行われますあなたが選択ドロップダウンの変化にそれを実行する必要があり

答えて

2

<form> 
 
    Update interval (in seconds): 
 
    <select name="interval" id="interval" onchange="window.setTimeout(function(){ document.location.reload(true); }, this.options[this.selectedIndex].value*1000);"> 
 
    <option value="" disabled selected>Make a Selection</option> 
 
    <option value="5">5</option> 
 
    <option value="10">10</option> 
 
    <option value="15">15</option> 
 
    <option value="20">20</option> 
 
    </select> 
 
</form>

+0

ご返信ありがとうございます。インターバルを選択した後、ページをリフレッシュし続けることは可能ですか?たとえば5を選択すると、5秒ごとに更新が継続されます。 – dboy

+0

ページがリフレッシュされるたびに変数がリセットされるため、[cookie](https://www.w3schools.com/js/js_cookies.asp)または[ローカルストレージ](https:// www。 w3schools.com/html/html5_webstorage.asp)を使用して選択範囲を保存し、その間隔でページの読み込みと更新を選択します(存在する場合)。 – APAD1

+1

あなたの指導のためにThanlkとあなたが投稿したリンクは、私はそれがうまくいった! – dboy

0

JS :

function updateInterval(e) { 
    var options = e.options 
    var seconds = options[options.selectedIndex].value 

    if (this.currentInterval) 
    clearInterval(this.currentInterval) 

    if (!isNaN(seconds)) 
    this.currentInterval = setInterval(
     function() { location.reload() }, 
     seconds * 1000 
    ) 
} 

HTML:

<form> 
    Update interval (in seconds): 
    <select onChange="updateInterval(this)"> 
    <option>Select</option> 
    <option value="5">5</option> 
    <option value="10">10</option> 
    <option value="15">15</option> 
    <option value="20">20</option> 
    </select> 
</form> 
関連する問題