checkbox取得値
jsはcheckboxで選択した個数をどのように制御しますか.
valueプロパティをバックグラウンドに転送し、フロントページのプロンプトボックスにラベルの後の内容を表示するにはどうすればいいですか?
具体的なコード:
注意:
1:nextSiblingプロパティ
このプロパティは、現在のノードの次のノード(その後のノードは現在のノードと同じレベル)を表し、その後に同じレベルのノードがない場合nullを返します.
特に、この属性の実行結果は、ブラウザによって異なる.
IEは、ノード間で生成されたスペースドキュメントノード(改行文字など)をスキップしますが、Mozillaはそうではありません.FFは、スペース改行などのレイアウト要素をノードとして読み取るので、ieでnextSiblingで読み取れる次のノード要素は、FFではnextSibling.nextSiblingと書く必要があります.
しかし、現在のブラウザではこのような問題はありません.inputcontentの後に直接nextSibling.nodeValueは値を取得します.
(再FFで.childNodesを使うのも同様の問題があります)
operaとsafariのnextSiblingに対する処理方式はFFと一致する
2:previousSiblingプロパティ
この属性はnextSibling属性の役割とは正反対である.例:someTagObject.nextSibling.previousSiblingは実際にはラベル要素自体を返しますが、ラベル要素の後ろに同級の要素が必要であることを前提としています.そうしないとnullを返します.
3:nextSiblingまたはpreviousSiblingで得られたHTMLタグ要素オブジェクトの属性問題
一般的にnextSibling.nodeNameで署名を取得するか、nextSibling.nodeTypeはラベルの種類を知る、nextSibling.nodeName=#text、nextSibling.nodeValueはテキスト値を知る.それ以外の場合はnextSibling.innerHTMLなどの他の一般的なラベル要素のプロパティを使用して、そのプロパティを取得します.
参考文献:
http://www.witpark.com/article/20/6467.html
一般的な状況:
x.parentNode.previousSibling.childNodes[0]
x.parentNode.previousSibling.getElementsByTagName('xx')[0]
//以下の方法でこの問題を回避できます
x.parentNode.parentNode.getElementsByTagName('xx')[0]
valueプロパティをバックグラウンドに転送し、フロントページのプロンプトボックスにラベルの後の内容を表示するにはどうすればいいですか?
具体的なコード:
<html>
<head><title></title>
</head>
<script type="text/javascript">
function check(component){
var strArray = document.getElementsByName("smallclassauthorize");
var content = document.getElementById("divcheck");
if(content.innerHTML!=""){
content.innerHTML="";
}
var lengthstr=0;//
for(var i=0;i<strArray.length;i++){
if(strArray[i].checked==true){
lengthstr++;
if(lengthstr > 2){
component.checked=false;
alert(" , ");
return false;
}
content.innerHTML +=" "+lengthstr+" :"+ strArray[i].nextSibling.nodeValue;
//.value( checkbox value )
// .nextSibling.nodeValue( <input> 。)
if(i > 1){
content.innerHTML+="<br/>";
}
}
}
}
</script>
<body>
<input name="smallclassauthorize" type="checkbox" onclick="check(this);" value=" "/> <br />
<input name="smallclassauthorize" type="checkbox" onclick="check(this);" value=" "/> <br />
<input name="smallclassauthorize" type="checkbox" onclick="check(this);" value=" "/> s
<div id="divcheck">
</div>
</body>
</html>
注意:
1:nextSiblingプロパティ
このプロパティは、現在のノードの次のノード(その後のノードは現在のノードと同じレベル)を表し、その後に同じレベルのノードがない場合nullを返します.
特に、この属性の実行結果は、ブラウザによって異なる.
しかし、現在のブラウザではこのような問題はありません.inputcontentの後に直接nextSibling.nodeValueは値を取得します.
(再FFで.childNodesを使うのも同様の問題があります)
operaとsafariのnextSiblingに対する処理方式はFFと一致する
2:previousSiblingプロパティ
この属性はnextSibling属性の役割とは正反対である.例:someTagObject.nextSibling.previousSiblingは実際にはラベル要素自体を返しますが、ラベル要素の後ろに同級の要素が必要であることを前提としています.そうしないとnullを返します.
3:nextSiblingまたはpreviousSiblingで得られたHTMLタグ要素オブジェクトの属性問題
一般的にnextSibling.nodeNameで署名を取得するか、nextSibling.nodeTypeはラベルの種類を知る、nextSibling.nodeName=#text、nextSibling.nodeValueはテキスト値を知る.それ以外の場合はnextSibling.innerHTMLなどの他の一般的なラベル要素のプロパティを使用して、そのプロパティを取得します.
参考文献:
http://www.witpark.com/article/20/6467.html
一般的な状況:
x.parentNode.previousSibling.childNodes[0]
x.parentNode.previousSibling.getElementsByTagName('xx')[0]
//以下の方法でこの問題を回避できます
x.parentNode.parentNode.getElementsByTagName('xx')[0]