javascript中的javascript不起作用

javascript中的javascript不起作用,javascript,html,Javascript,Html,我的javascript中有这个,但是文档中的javascript.getElementById不起作用 document.getElementById('addcategory1').innerHTML += "<input type='text' class='input-short' name='newcategory[1]' value='New Category 2' onfocus='javascript: if(this.value == 'New Category 2'){

我的javascript中有这个,但是
文档中的javascript.getElementById
不起作用

document.getElementById('addcategory1').innerHTML += "<input type='text' class='input-short' name='newcategory[1]' value='New Category 2' onfocus='javascript: if(this.value == 'New Category 2'){ this.value = ''; }' onblur='javascript: if(this.value==''){this.value='New Category 2';}'/><br/><br/>";

我相信这里有一个引用问题:

onfocus='javascript: if(this.value == 'New Category 2'){ this.value = ''; }' onblur='javascript: if(this.value==''){this.value='New Category 2';}'
您在单引号脚本中嵌套了单引号

尝试将其替换为:

onfocus='if(this.value == "New Category 2'){this.value = ""; }' onblur='if(this.value==""){this.value="New Category 2";}'
您更大的
innerHTML
代码将是:

document.getElementById('addcategory1').innerHTML += "<input type='text' class='input-short' name='newcategory[1]' value='New Category 2' onfocus='if(this.value == \"New Category 2\"){ this.value = \"\"; }' onblur='if(this.value==\"\"){this.value=\"New Category 2\";}'/><br/><br/>";
document.getElementById('addcategory1').innerHTML+=“

”;
正确地转义引号。使用双引号将单引号括起来

onfocus="javascript: if(this.value == 'New Category 2'){ this.value = ''; }" onblur="javascript: if(this.value==''){this.value='New Category 2';}"

你需要转义你的单引号。
onfocus="javascript: if(this.value == 'New Category 2'){ this.value = ''; }" onblur="javascript: if(this.value==''){this.value='New Category 2';}"