这是我正在使用的代码:
<!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>
当您选中第一个复选框时,该复选框的值将转到textarea,这个案例是DAVIDHU,
但是当你检查第二个复选框时,这个案例是CHARLES-STEVEN,这个值不会转到textarea,我相信它有一些特殊字符' - '我试过escap使用反斜杠exp:CHARLES-STEVEN但是它不起作用,问题是我有这么多用户使用“ - ”
任何帮助或建议都将受到高度赞赏。
谢谢!
答案 0 :(得分:4)
You can only use dot notation with valid identifiers. CHARLES-STEVEN
不是有效的标识符,因为 - 您猜对了 - 破折号。所以切换到bracket notation:
document.first['CHARLES-STEVEN'].value