我试图让NicEdi
仅适用于ID为'r_desc'
的所有textareas。目前,这仅发生在while循环中生成的表单的第一个实例,而不是其他形式。我做错了什么?
的JavaScript
<script src="http://js.nicedit.com/nicEdit-latest.js" type="text/javascript"></script>
<script type="text/javascript">
bkLib.onDomLoaded(function() {
nicEditors.editors.push(
new nicEditor().panelInstance(
document.getElementById('r_desc')
)
);
});
</script>
PHP / HTML
$i=0;
while($i<5){ ?>
<form id="content" name="content" method="POST" action="index.php">
<textarea name="r_type" id="textarea"></textarea>
<textarea name="r_desc" id="r_desc"></textarea>
<textarea name="r_rate" id="textarea"></textarea>
<input type="submit" id="button" value="Update" />
</form>
<? $i++;
}
我也尝试过:
bkLib.onDomLoaded(function () {
var textareas = document.getElementsByID("r_desc");
for(var i=0;i<textareas.length;i++)
{
var myNicEditor = new nicEditor();
myNicEditor.panelInstance(textareas[i]);
}
});
答案 0 :(得分:1)
元素应该具有唯一ID。 getElementById
的实现知道这一点,并且只返回与给定ID匹配的第一个元素。
您需要使用不同的方法来识别要转换为Nicedit
如果您使用getElementsByClassName
或getElementsByTagName
之类的内容(请注意,这些返回元素不仅仅是元素)
<强> PHP:强>
$i=0;
while($i<5){ ?>
<form id="content" name="content" method="POST" action="index.php">
<textarea name="r_type" class="to-nice"></textarea>
<textarea name="r_desc" ></textarea>
<textarea name="r_rate" class="to-nice"></textarea>
<input type="submit" id="button" value="Update" />
</form>
<? $i++;
}
<强> JavaScript的:强>
var els = document.getElementsByClassName("to-nice");