2017-02-10 5 views
0

크롬 확장 기능을 사용하고 있습니다. 버튼을 누르면 입력란에 현재 URL과 값이 표시됩니다. 라인에크롬 확장의 양식 요소 값을 처리하려고 할 때 오류가 발생했습니다.

Uncaught TypeError: Cannot read property 'value' of null at HTMLButtonElement.myAlert 

:

하지만 난 오류를 받고 있어요

var ip = document.getElementById('ip_dns').value; 

어떻게이 값을 얻고 저장하는 올바른 방법은? 여기

내 코드입니다 :

popup.html

<!doctype html> 
<html> 
    <head> 
    <title>DNS Teste</title> 
    <script src="popup.js"></script> 
    </head> 
    <body> 
    <form> 
     IP DNS 
     <input type="text" ip="ip_dns"> 
     <button id="btn">Teste</button> 
    </form> 
    </body> 
</html> 

popup.js

function myAlert(){ 
    chrome.tabs.getSelected(null, function(tab) { 
    var url = tab.url; 
    console.log("url: "+ url); 
    }); 
    var ip = document.getElementById('ip_dns').value; 
    console.log("IP: "+ip); 
} 

document.addEventListener('DOMContentLoaded', function() { 
    document.getElementById('btn').addEventListener('click', myAlert); 
}); 

manifest.json을

{ 
    "manifest_version": 2, 

    "name": "Getting started example", 
    "description": "This extension shows a Google Image search result for the current page", 
    "version": "1.0", 

    "browser_action": { 
    "default_icon": "icon.png", 
    "default_popup": "popup.html" 
    }, 
    "permissions": [ 
    "activeTab", 
    "https://ajax.googleapis.com/", 
    "tabs" 
    ] 
} 
+0

현재 오타있다 : <입력 유형 = "텍스트"IP = "ip_dns"> 아마도이 문제입니다? 그것을 로 변경하십시오. –

답변

0

를 작동

function myAlert(){ 
 
    // chrome.tabs.getSelected(null, function(tab) { 
 
    // var url = tab.url; 
 
    // console.log("url: "+ url); 
 
    // }); 
 
    var ip = document.getElementById('ip_dns').value; 
 
    console.log("IP: "+ip); 
 
} 
 

 
document.addEventListener('DOMContentLoaded', function() { 
 
    document.getElementById('btn').addEventListener('click', myAlert); 
 
});
<form> 
 
    IP DNS 
 
    <input type="text" id="ip_dns"> 
 
    <button id="btn">Teste</button> 
 
</form>

관련 문제