2017-08-04 2 views
1

私はベーシックです(私は熟練ではなく、ちょっとしたことを学ぶために小さなものを学ぶために)データベースプロジェクトを行い、チェックボックスをチェックして設定します。しかし、ボックスをチェックしようとすると、チェックされているかチェックされていないかを読み取ると、常に "null"が読み込まれます。私は.value.innerHTML.checkedを試しました。何も私をそこに連れてこない。私がしようとしているのは、getElementByIdを使って入力(つまりチェックされているかチェックされていない)を拾い上げてvarに格納し、後でbooleanが真であるかどうかを比較して、それに応じてdatabasの値を設定します。値、innerHTMLまたはチェック付きのチェックボックスの値を読み取ることができません

function createSheet() { 

var _container = document.getElementById("container"); 

checkbox = document.createElement("input"); 
    checkbox.type = "checkbox"; 
    var valueOfId = document.getElementById("idString").checked; 

エラーmessege:nullのプロパティ 'checked'を読み取ることができません。

編集:ありがとうございました!私は、彼らがそれほど重要だっ考えていなかったので、私はこれらの行を示さなかったが、私はので、ここで間違っていた彼らは、次のとおりです。

function createSheet() { 
var _container = document.getElementById("container"); 
for (var i = 0; i < 4; i++) { 
    p = document.createElement("p"); 
    spanBird = document.createElement("span"); 
    checkbox = document.createElement("input"); 
    checkbox.type = "checkbox"; 
    checkbox.id = "myCheck" + i; 
    checkbox.value = 0; 
    checkbox.checked = birds.birdList[i].seen; 
    spanBird.innerHTML = birds.birdList[i].name; 
    p.appendChild(spanBird); 
    p.appendChild(checkbox); 
    container.appendChild(p); 
    console.log(document.getElementById("myCheck" + i)); 
    document.getElementById("myCheck" + i).addEventListener("click", readBox); 
    } 
} 

function readBox(){ 
getId(); 
theId = theId.substring(7); 
console.log("idString: " + idString); 
var valueOfId = document.getElementById("idString").checked; 
} 

とHTMLを読み込む:

<section id="container"> 

    </section> 

/EDIT

提案がありますか?

+0

"_Any提案?_" [MCVE]私たちに提供します。 – csmckelvey

+1

入力を作成し、そのタイプをチェックボックスに変更しましたが、IDに割り当てられませんでした....その後、IDで要素を取得しようとしていますか?したがって、id = idStringの要素はnull –

答えて

1

実際には、チェックされたプロパティがnullであり、親オブジェクトがnullではありません。

私は意味、この部分:それはcheckedプロパティにアクセスすることはできませんので

document.getElementById("idString") 

は、nullを返しています。

あなたが最初にこの

checkbox = document.createElement("input"); 
checkbox.type = "checkbox"; 
checkbox.setAttribute("id", "idString"); 
document.body.appendChild(checkbox) 
var valueOfId = document.getElementById("idString").checked; 

で要素のidを設定するために、あなたが値に

3

カップルの事にアクセスすることができる必要があります必要があります。

  • あなたはdocument.getElementByIdを必要としないが、既にcheckboxがあるので
  • 他の人が述べたように、document.getElementByIdを使用するには、checkbox要素にidを設定する必要があります。また、要素を文書に追加する必要もあります。

checkbox = document.createElement("input"); 
 
checkbox.type = "checkbox"; 
 
checkbox.id = "idString" 
 

 
console.log(checkbox.checked) 
 

 
document.body.appendChild(checkbox) 
 

 
console.log(document.getElementById("idString").checked)

+0

最初の箇条書きの意味が不明です。どのように私はそのようなチェックボックスを使用できますか? 2番目の箇条書きは悪いです。私はすべてのコードをsharしなかったが、今更新されているので、まだ問題を回避することはできない。 –

1

あなたのidを動作するためには、まず、このようなあなたの要素の属性を作成する必要があります。

インスタンス化されていない場合は、idでコールできません。試してみる。

HTML

<div id="content"></div>  

JAVASCRIPT

checkbox = document.createElement("input"); 
    checkbox.setAttribute("id", "idString"); 
    checkbox.setAttribute("type", "checkbox"); 
    checkbox.setAttribute("value", "0"); 

    var element = document.getElementById("content"); 
    element.appendChild(checkbox); 
    var valueOfId = document.getElementById("idString").value; 
    console.log(valueOfId); 
関連する問題