2017-05-29 13 views
0

私は<input type="text" id="changeText" onchange="changeFct()">です。私はonchange関数の外でテキストを取得する必要があります。javascriptのonchange関数から動的に変化する値を取得する方法は?

これは私のjavascriptです:

function changeFct(){ 
    var getText = document.getElementById("changeText").value; 
    return getText; 
} 

var getTextFromOutside = changeFct(); 
console.log("from outside >>>> ", getTextFromOutside); 

だから私はのonchange関数の外から動的に変更を取得する必要があります。

編集 アイデアが

(このインタフェースは、いくつかの色、フォントサイズなどを持つために、入力が含まれている)Webインタフェースを使用してCSSファイルに記述することです私は解凍するJSzipを使用していますすべてのCSSファイルを含むフォルダこの部分は動作します。

私のhtml入力がfont-sizeを尋ねるのに使うとします。たとえば、リスナーを使用して値を取得する必要があります。

問題は、私は3つのcssファイルを1つずつ変更する必要があるため、この値を約束する必要があることです。約束を使っています。

+0

完全に間違っている、var getTextFromOutside = changeFct();このステートメントは、未定義の理由である変更前に実行されます –

+0

ありがとうございます@GovindSamrow私は同意し、それを動作させる方法があるかどうかを知りたがっています(私は本当に約束が必要ですか?) – Sushi

+0

詳細を追加する必要がありますあなたは正確にやりたいですか? –

答えて

0

changeFctは、入力テキストの値がchangedの場合にのみ呼び出されるため、このコードは機能しません。これが出力に定義されていない理由です。あなたはこの値で欲しいものは何でも行うことができます。ここ

function changeFct(value){ 
    Promise.resolve(value).then(function(val){ 
    console.log(value); 
    }); 
} 

document.getElementById('changeText').addEventListener('change', function(){ 
    changeFct(this.value); 
}, false); 

、代わりのwindowオブジェクトを汚染しますグローバル変数を宣言:代わりの要素でonchangeイベントを追加し、代わりに使う機能addEventListener

+0

こんにちは@Dimitri、私はあなたのスクリプトをテストしている、最初にグローバル変数を使用してaddEventListener内でそれを変更し、外部から(変更された)得る方法はありますか? – Sushi

+0

なぜ外部から値を取得したいのですか? – Dimitri

+0

私はそれを約束するために外に出す必要があります – Sushi

0

使用グローバルvaribleが、後のonchangeこれを使用する:

var getText = ''; //Declare variable outside 
    function changeFct(){ 
     getText = document.getElementById("changeText").value; 
    } 

しかし、再びをあなたがのonchange関数の後に実行statemnetを必要とします。

otherFunc(){ 
console.log("from outside >>>> ", getText); 
} 
関連する問題