2012-08-17 54 views
0

我試圖在單擊按鈕(約翰)時輸出文本框中插入的值。目前我剛剛在這裏添加了默認值 (John = new Player(30,「England」,3));但我希望從文本框中挑選這些值。請告訴我如何去做這件事。 我試着從文本框中獲取值並賦值給變量(x,y,z註釋掉在腳本中)並在這裏傳遞(John = new Player(x,y,z)); 但它似乎沒有工作。使用構造函數從文本框輸出值 - 原型

Age : <input type = "text" id = "test1" /><br> 
County : <input type = "text" id = "test2" /><br> 
Rank: <input type = "text" id = "test3" /><br> 

<button type="button" onclick="John.myPlayer()">John</button> 

<br> 

<br> 
<div id = "box"></div> 
<br> 



<script type="text/javascript"> 

// var x = document.getElementById('test1').value; 
// var y = document.getElementById('test2').value; 
// var z = document.getElementById('test3').value); 

function Player(a,c,r){ 
this.age=a; 
this.country=c; 
this.rank=r; 
} 

Player.prototype.myPlayer = function(){ 

document.getElementById('box').innerHTML = "John is from " + this.country + " he is  " + this.age + " years old and his rank is " + this.rank; 

} 

John= new Player(30,"England",3); 

John.myPlayer() 


</script> 
+0

移動與'變種X,Y代碼,z'到'myPlayer'函數來獲取單擊按鈕時輸入的值。 – Halcyon 2012-08-17 11:38:00

回答

0

我的建議是建立一個稱爲上onclick事件函數,並從文本框出現,之後創建播放器的新實例讀出值。

<button type="button" onclick="createNewPlayer()">John</button> 

,並在javascript:

function createNewPlayer() { 

    var x = document.getElementById('test1').value; 
    var y = document.getElementById('test2').value; 
    var z = document.getElementById('test3').value); 

    John= new Player(x, y, z); 
    John.myPlayer() 
} 
+0

太好了 - 謝謝丹尼爾。有效。 :) – 2012-08-17 11:53:05

0

請嘗試這樣的..

<!DOCTYPE html> 
<html> 
<head> 
    <script type="text/javascript"> 
    function show(){ 

     var age = document.getElementById('test1').value; 
     var country = document.getElementById('test2').value; 
     var rank = document.getElementById('test3').value; 

     John = new Player(age, country, rank); 
     John.myPlayer(); 
    } 
    Player.prototype.myPlayer = function() { 
     var output = "John is from " + this.country + " he is " + this.age + " years old and his rank is " + this.rank; 
     document.getElementById('box').innerHTML = output; 
} 

    function Player(a,c,r){ 
     this.age=a; 
     this.country=c; 
     this.rank=r; 
    } 

    </script> 
</head> 

<body> 

    Age : <input type = "text" id = "test1" /><br> 
    County : <input type = "text" id = "test2" /><br> 
    Rank: <input type = "text" id = "test3" /><br> 

    <div id="box"> 
    </div> 

    <button type="button" onclick="show()">John</button> 

</body> 
</html>