2017-10-04 10 views
0

以下のアクションを実行するスクリプトを作成しています。[JS]をクリックした後にフォームエントリが更新されないのはなぜですか?

1)ボタンをクリックするとフォームが読み込まれます。

2)フォームのエントリに特定の値が入力されます。フォームをロードしますが、フォームのエントリが更新されません

document.getElementById('formButton').click(); 
window.onload = function(){ 
    document.getElementById('formEntry').value = "foo"; 
}; 

このスクリプト:

私のコードは次のようになります。 問題はフォームエントリがDOMにまだロードされていないことですが、onloadは仕事をしていないようです...私がここで間違っていることに関するヒント?

+0

'document.getElementById( 'formButton')'はロードされません。 [ブラウザコンソール(dev tools)](https://webmasters.stackexchange.com/q/8525)(「F12」を押す)を使用してエラーを読んでください。 – Xufox

答えて

0

これを行ってくださいそう

window.onload = function() { 
    var formEntry = document.getElementById('formEntry'); 
    var formButton = document.getElementById('formButton'); 

    formButton.addEventListener('click', function() { 
    formEntry.value = "foo"; 
    }); 
}; 

又は代替

のような別の関数内で変更.VALUE
0

あなたは、イベントリスナーへのボタンクリックバインドする必要があります:あなただけの任意のクリックイベントリスナーをトリガ.click()関数を呼び出すことによって

window.onload = function(){ 
    document.getElementById('formButton').addEventListener('click',function(){ 
    document.getElementById('formEntry').value = "foo"; 
    }); 
}; 

をしますが、1を宣言していない、とのthatsもpropablyないあなた意図。あなたはformButtonがクリックされたときにformEntryを変更する必要が)あなたはwindow.onload

window.onload = function() { 
    var formEntry = document.getElementById('formEntry'); 
    var formButton = document.getElementById('formButton'); 
}; 

2の内部文書変数のすべてを配置する必要があります)

1、そう置く -

関連する問題