在Javascript函数调用上跳过特殊字符' - '

时间:2013-01-29 04:15:28

标签: javascript

这是我正在使用的代码:

<!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但是它不起作用,问题是我有这么多用户使用“ - ”

组合名字和姓氏

任何帮助或建议都将受到高度赞赏。

谢谢!

1 个答案:

答案 0 :(得分:4)

You can only use dot notation with valid identifiers. CHARLES-STEVEN不是有效的标识符,因为 - 您猜对了 - 破折号。所以切换到bracket notation

document.first['CHARLES-STEVEN'].value