1

これは私が使用しているコードです:

<!DOCTYPE html>
<html>
<head>
</head>

<header>
<script language="JavaScript" type="text/javascript">  
<!--  
function pass(InputValue){  

    if(document.getElementById('storevalues').value == false ) {document.getElementById('storevalues').innerHTML = InputValue;}

            else {
                document.getElementById('storevalues').innerHTML += " ,"+InputValue;    
            } 
}     
//-->  
</script>

</header>

<body>

<form name="first">  
<textarea rows="4" cols="50" id="storevalues"></textarea>

<input type="checkbox" id="DAVIDHU" value="DAVIDHU" onclick="pass(document.first.DAVIDHU.value)">

<input type="checkbox"  id="CHARLES-STEVEN" value="CHARLES-STEVEN" onclick="pass(document.first.CHARLES-STEVEN.value)">
</form> 

</form>

</section>

</body>

最初のチェックボックスをオンにすると、そのチェックボックスの値がテキストエリアに移動します。この場合は DAVIDHU です
が、2 番目のチェックボックスをオンにすると、この場合は CHARLES-STEVEN になります。値はテキストエリアに移動しません。特殊文字「-」を使用します バックスラッシュ exp を使用してエスケープを試みました : CHARLES-STEVEN しかし、うまくいきませんでした

どんな助けや提案も大歓迎です。

ありがとう!

4

1 に答える 1

4

有効な識別子でのみドット表記を使用できます。 CHARLES-STEVENご想像のとおり、ダッシュのため、有効な識別子ではありません。したがって、ブラケット表記に切り替えます。

document.first['CHARLES-STEVEN'].value
于 2013-01-29T04:17:23.223 に答える