2016-08-28 4 views
8

Javascriptではとても新しいので、外部のjavascriptファイルを使用してボタンのテキストを変更するだけでコードを学習しようとしています。しかし、私はボタンをvalueexternallyに読み込むためのjavascriptを手に入れることはできません。私のボタンの値はbtn = ""であるChromeのデバッグツールでは知ることができません。ボタンオブジェクトは読み取りますが、そのプロパティは読み取れません。私はそれがあるのx値をデバッグするときJavascriptはhtmlの機能に情報を渡さない

<html> 
<head> 

    <title> Test </title> 
    <script type="text/javascript" src="Gle.js"></script> 
</head> 

<body> 
    <div><canvas id="Gle" width="800" height="600"></canvas> 
</div> 
    <div> 
     <h2>Enter the mass and coordinates</h2> 
     <input id="txtbox" type="text" /><br/> 
     <button id="btn" onclick="change()">Add</button> 

    </div> 


    </body> 
</html> 

Gle.js

"use strict"; 


function change() { 
    var x = document.getElementById("btn").value; 
    var elem = document.getElementById("btn"); 
    var txt = document.getElementById("txtbox"); 
    txt.text = elem.value; 
    elem.value = "Ok"; 
    } 

は ""、何が私の画面に変わりありません。私はブラケットIDEを使用しています。 '#btn'は「の値」属性が指定されていないので、あなたはあなたのbutton

<button id="btn" onclick="change()" value="Add">Add</button> 
+1

なぜ'this'キーワードを使用してボタンを取得するだけではありませんか? – Li357

+0

1. MCVEを作成してください。これは、あなたが正しい質問を投稿する方法ではなく**です**。 2.ボタンにはどんな「価値」があると思いますか? – Amit

+0

私は、デバッグウォッチウィンドウでボタンのタイトル「追加」がxから現れることを期待しています。 – CromeX

答えて

8

xvalue属性を割り当てることで試すことができ

+3

ありがとうございました。これはドットを結びつけるのに役立ちます。時にはそこに考えを置くだけのこともあります。私は

+2

@CromeX違いを探しているなら、http:// stackoverflowをチェックすることができます。com/q/469059#26818133、この回答には良い見積もりがあります – Hydro

0

は空です。 、文字列は、その内側HTML(またはテキスト)内にある「追加」

alert(document.getElementById("btn").innerText); 

そして、あなたは、それが'#btn'this.innerTextの参照イベントスコープのインデックスthisだことができます。

別の方法として、クロスブラウザである'#btn'の子ノード値を取得することができます。

alert(this.childNodes[0].nodeValue); 

これは要素innerに指定された最初のテキストを警告します。

1

「追加」ボタンのタイトルが表示されると思われますか?

ボタンにはvalue属性がないため、valueプロパティは空の文字列です。

"追加"は、ボタン要素内のテキストノードの内容です。

var x = document.getElementById("btn").firstChild.data; 
0

あなたが入力ボックスにコードを何に基づいて、ボタンのテキストを更新する場合は次のようになります。

<button id="myButton">Change Me</button> 
<input id="myInput" type="text" value="To This"/> 

とJSで:

document.getElementById("myButton").click(function(){ 
    var inputValue = document.getElementById("myInput").value 
    document.getElementById("myButton").innerText = inputValue 
    // You could also use 'this' to refer to document.getElementById("myButton"): 
    // this.innerText = inputValue 
}) 
関連する問題