document.body.innerHTML = "An error occurred. Please try to login again.<br>";

document.body.innerHTML += 'Username: <input type="text" name="username"><br>';
document.body.innerHTML += 'Password: <input type="password" name="password"><br>';
document.body.innerHTML += "<input type='submit' value='Login' onclick='alert(document.getElementById('password').value)'>"

运行此代码,然后单击登录按钮后,Chrome JavaScript控制台会返回:

SyntaxError:期望的表达式,得到了'}'

我该如何解决?

#1楼 票数:3

您需要更改引号并在javascript代码中将其转义:

 document.body.innerHTML = "An error occurred. Please try to login again.<br>"; document.body.innerHTML += 'Username: <input type="text" name="username"><br>'; document.body.innerHTML += 'Password: <input type="password" name="password" id="password"><br>'; document.body.innerHTML += "<input type='submit' value='Login' onclick='alert(document.getElementById(\\"password\\").value)'>"; 

至于“为什么浏览器会抛出此特定错误?”的原因,这是一个问题:

因为代码错误,所以浏览器实际上看到以下代码:

(function(event){alert(document.getElementById(
})

如您所见-在document.getElementById(之后,有一个结束{ ,这是您的浏览器大叫您的意思。

#2楼 票数:1

只是转义报价

 document.body.innerHTML = "An error occurred. Please try to login again.<br>"; document.body.innerHTML += 'Username: <input type="text" name="username"><br>'; document.body.innerHTML += 'Password: <input type="password" name="password" id="password"><br>'; document.body.innerHTML += "<input type='submit' value='Login' onclick='alert(document.getElementById(\\"password\\").value);return false;' />" 

  ask by WayneXMayersX translate from so

未解决问题?本站智能推荐:

2回复

使用脚本标记将HTML注入DOM

我们允许用户放置一个 在他们的页面上标记,然后应该从我们的网站嵌入一些内容到他们的网站。 目前script.php包含document.write(“从数据库加载的一些内容”),但是有一些限制。 无论如何我可以使用jQuery实现相同的功能吗? 我如何告诉jQuery将一段HT
3回复

将单独的脚本注入 HTML

说我有一个public/index.html文件 然后是一个名为otherScript的单独 html 文件,它只是一个包含<script>标签的文件,其中包含一个脚本 我将如何将此脚本注入到我的public/index.html文件中? 我想使用new HtmlWebpackPlug
1回复

从javascript将javascript注入dom [重复]

这个问题已经在这里有了答案: 执行插入.innerHTML的<script>元素 19个答案 我正在尝试将脚本注入DOM,但该脚本实际上并未运行。 我究竟做错了什么? 未执行console.log。
2回复

使用阴影DOM注入chrome扩展UI

我对HTML和整个Web世界的开发非常陌生。 我正在尝试创建chrome扩展程序,并决定通过在单击浏览器操作时注入内容脚本来向用户显示扩展程序UI。 我已经创建了一个用于显示UI的HTML页面,现在我需要将此HTML页面作为小部件加载到当前页面右上方的某个位置(以显示为弹出窗口)。 通过在
4回复

通过JavaScript将类似HTML的CSS注入DOM

我想知道是否可以像通过JavaScript添加HTML代码那样将CSS代码添加为字符串,例如: 我可以用类似的方式添加一个巨大的CSS代码吗? 基本上我有HTML + CSS + JS代码,我想放入.js文件而不是.html 。 我是Web开发的新手,所以不知道。 这有可能吗?
1回复

使用指令注入DOM元素AngularJS

我也有一个<ul>和<li> : 我想在某个事件中注入如下所示的上下文菜单(上述DOM位置): 实现此目的的最佳方法是什么? 上面的1、2和3具有相同的功能来处理父容器中的重复列表项。 因此,我不确定如上所述注入上下文菜单是否明智,因为这会生成上下文菜
2回复

使用 ReactJS 构建时,Chrome 扩展内容脚本不会注入 DOM

我正在尝试使用 React 构建一个 chrome 扩展。 我已经弹出create-react-app并进行了必要的更改以发出content.chunk.js ,它包含在manifest.json ,如下所示 我的 content.js 构建后,当我加载扩展程序时,这不会做任何事情。 但是,
1回复

将html注入DOM时,为什么无法获取js文件?

我正在从浏览器发起ajax发布请求,以进行我正在开发的登录过程。 我做一些逻辑来验证后端(asp.net核心)中用户的凭据并返回一个视图,该视图是应用程序的“登录后”主页。 我将其注入DOM。 我要返回的该视图具有指向外部js文件的脚本标签以及CSS的链接标签。 我的理解是.csht