我使用以下JavaScript函数:
function Projects()
{
var PrjTb1 = "<input type=text id=PrjNme size=100/>"
var PrjTb2 = "<textarea rows=5 col=200 wrap=hard></textarea>"
var Info = "1. Project or activity name:<br>" + PrjTb1 + "<br><br>2. Project or activity description:<br>" + PrjTb2
if (document.getElementById('PrjNo').value == 1)
{
document.getElementById('AllPrj').innerHTML = "<b>Project or activity 1.</b><br><br>" + Info
}
}
在onclick
事件之后,此函数执行良好;但是,声明的变量中的HTML的某些部分不起作用。例如,在变量PrjTb2
中,我的textarea的行和列不会更改。另外,我无法在变量中的任何位置添加HTML标记<dd>
和</dd>
来创建缩进。有趣的是textarea属性和HTML标记<dd>
和</dd>
都在我的表单体内工作,而不是在我的JS函数中。谁会知道我做错了什么。
答案 0 :(得分:0)
可能是您的浏览器正在缓存您的Javascript。尝试清除缓存。
答案 1 :(得分:0)
不确定是否存在问题,但我会将所有参数括在引号中。
<input type=text id=PrjNme size=100/>
应该是:
<input type='text' id='PrjNme' size='100' />
另外,根据您的Doctype,您可能想要更改
<br>
到
<br />
直接HTML中允许的内容不一定允许使用innerHTML。例如,在Firefox中,尝试在JS vs html中的表单中嵌入表单,或者在IE中,尝试将块元素放在内联元素中。如果你用HTML编写它们,它们都可以正常工作,但如果用innerHTML进行试验,两个浏览器都会抱怨。
答案 2 :(得分:0)
我不知道你的语法错误是否是由于你在这里复制你的代码而引起的,但这里有一些我在你的代码中注意到的事情。
同样关于<dd></dd>
,您是否将它们放在定义列表(dl)中?
因为它们不应该用作独立标签。