2015-09-08 13 views
7

私のコードは次のとおりです。onclick JS関数の後に前のテキストを返す方法は?

function changeText() 
{ 
document.getElementById('button').innerHTML = 'Downloading...'; 
} 

ボタン:

<button id = "button" onclick='changeText()' value='Change Text'>Download file as CSV</button> 

私はボタンに変更したい「ダウンロード中...」その後、数秒後に「CSVとしてダウンロード」に戻り、ありますこれはJSで可能ですか?

答えて

5

あなたはsetTimeoutしたり、非同期呼び出しの成功をを使用することができます。

function changeText() { 
 
    document.getElementById('button').innerHTML = 'Downloading...'; 
 
    setTimeout(previousText, 1000); 
 
} 
 

 
function previousText() { 
 
    document.getElementById('button').innerHTML = 'Download file as CSV'; 
 
}
<button id="button" onclick='changeText()' value='Change Text'>Download file as CSV</button>

+0

これは素晴らしい作品です。ありがとうございます。 – Sean9113

+0

@ Sean9113私はあなたを助けた嬉しい:) –

4
document.getElementById("your-button").value="Downloading..."; 
setTimeout(function() { 
    document.getElementById("your-button").value="Download as CSV"; 
}, 3000); 

上記のコードは、ボタンのテキストを設定し、3秒後にボタンテキストを別の文字列に設定します。

+0

非常にありがとうございます! – Sean9113

1

このコードは、2000ミリ秒後に、古いテキストを復元しますが、あなたがタイムアウトをカスタマイズすることができます。

function changeText() { 
    var button = document.getElementById('button'); 

    var oldText = button.innerHTML; 
    button.innerHTML = 'Downloading...'; 
    setTimeout(function(){ 
     button.innerHTML = oldText; 
    }, 2000); 
} 
関連する問題