2012-06-02 42 views
1

我popup.html:谷歌chrome傳遞字段值的形式

<!doctype html> 
<html> 
    <head> 
     <form name="orderform"> 
First name: <input type="text" name="firstname" /><br /> 
Last name: <input type="text" name="lastname" /> 
<INPUT TYPE="button" NAME="button1" Value="Read" onClick="readText(this.form)"> 

</form> 
<!-- JavaScript and HTML must be in separate files for security. --> 
    <script src="popup.js"></script> 
    </head> 
    <body> 
    </body> 
</html> 

popup.js

console.log("In"); 
function readText (form) 
{ 
    TestVar =form.firstname.value; 
    console.log(TestVar); 
    chrome.tabs.create({"url":"http://www.google.co.in","selected":true}, function(tab){ 
     }); 
} 

不幸的是,上面的代碼不打印頭名的值。有人能告訴我我在這裏做錯了嗎?

+0

對於初學者來說,你有你的控制檯裏面調用一個流浪引號:'的console.log(的testvar「);' –

+0

感謝指點出來。當我複製並粘貼它時,我犯了一個錯誤。將編輯它。 – user1092042

回答

0
  1. 您的表單位於<head>部分;將其移動到主體中
  2. 請勿使用form.field,請將DOM id屬性與document.getElementById()結合使用。
  3. 使用var定義局部變量;像這樣:

    First name: <input type="text" id="firstname" /><!-- note the use of id=... --> 
    <script type="text/javascript"> 
        var TestVar = document.getElementById('firstname').value; 
    </script> 
    
  4. 使用alert()字符串和數字

下面是完整的代碼:

popup.html

<html> 
<head> 
<script src="popup.js"></script> 
</head> 
<body> 
<form name="orderform"> 
    First name: 
    <input type="text" name="firstname" id="firstname" /> 
    <br /> 
    Last name: 
    <input type="text" name="lastname" id="lastname" /> 
    <input type="button" name="button1" value="Read" onclick="readText()"> 
</form> 
</body> 
</html> 

popup.js

function readText(){ 
    var TestVar = document.getElementById('firstname').value; 
    console.log(TestVar); alert(TestVar); 
    chrome.tabs.create({"url":"http://www.google.co.in","selected":true}, function(tab){ }); 
}