文本区域命名难题-与PHP和javascript一起工作


textarea naming conundrum - working with php and javascript

我有一个有多个输入的表单。其中一个输入是文本区域。下面是它的开始标签的开头:

<textarea id="edit-about-me-input" class="edit-website-input" type="text" name="edit-profile[byc_about_me]"...

如您所见,我选择将其命名为数组,因此,当我发布表单时,我只需要处理一个值数组。

然而,当我试图在该名称上运行javascript函数时,遇到了一个问题。

下面是文本区域声明的其余部分:

onKeyDown="limitText(this.form.edit-profile[byc_about_me],this.form.countdown,1000);" 
onKeyUp="limitText(this.form.edit-profile[byc_about_me],this.form.countdown,1000);"><?php echo $byc_about_me; ?></textarea>

显然,javascript不喜欢破折号和括号。有人能给我一个解决办法吗?我能给它起两个名字吗还是我需要重写处理这个表单的php ?

使用方括号符号代替点符号来访问form对象的edit-profile[byc_about_me]属性,如下所示:

this.form['edit-profile[byc_about_me]']

它不漂亮,但它有效!

相关:我如何引用javascript对象属性与连字符在它?