2017-02-16 25 views
0

最近、私はChrome拡張機能を作成しています。Chrome拡張機能のテキストフィールドですか?

マニフェスト: ...

"browser_action":{ 
"default_icon": "icon.png", 
"default_popup":"popup.html" 
}, 
"background":{ 
"scripts": ["background.js"] 
}, 

"permissions":["tabs"] 

} 

background.js:

function textfield(){ 
var field = document.createElement("INPUT"); 
field.setAttribute("type","text"); 
field.setAttribute("value","Id:"); 
document.body.appendChild(field); 
} 

popup.html: 私はこのように、ボタンがクリックされたときに、テキスト入力フィールドを追加します...

<button onclick="textfield()"class="button"type="button">Regulations</button> 

私が抱える問題は、テキストフィールドが表示されている理由を調べます。 onclickは機能しますが、何らかの理由で生成されていません。 アイデア

答えて

0

コードを拡張するためにコードを少し変更する必要があります。

document.getElementById('regButton').addEventListener('click', function() { 
 
    var field = document.createElement('input'); // INPUT also works 
 
    field.setAttribute('type', 'text'); 
 
    field.setAttribute('name', 'text'); 
 
    document.body.appendChild(field); 
 
    document.body.appendChild(document.createElement("br")); 
 
});
<!DOCTYPE html> 
 
<html> 
 
    <head> 
 
    </head> 
 
    <body> 
 
    <button id="regButton" type="button">Regulations</button> 
 
    </body> 
 
</html>

0

クローム拡張は、インライン関数を使用できません。あなたは、あなたのJavaScriptの内部にdocument.getElementById('elementId').addEventListenerを使用してハンドラを登録する必要があります。

Reference

関連する問題