Javascript语法错误:意外标记';}';
我有以下简单的代码,但是由于某种原因,它抛出了一个意外的标记“}”错误,我不完全确定为什么。 我有以下代码来生成按钮Javascript语法错误:意外标记';}';,javascript,onclick,Javascript,Onclick,我有以下简单的代码,但是由于某种原因,它抛出了一个意外的标记“}”错误,我不完全确定为什么。 我有以下代码来生成按钮 var OverlayMessage = ("Do you want to test these settings? <br> <h6>" + protocol + ":" + systemcodeSend + "-" + unitcode + " sending " + state + '</h6> <br> <a id="
var OverlayMessage = ("Do you want to test these settings? <br> <h6>" + protocol + ":" + systemcodeSend + "-" + unitcode + " sending " + state + '</h6> <br> <a id="btnGreen" onclick="checkIfSettingsWork("' + protocol +'", "'+ systemcodeSend +'", "'+ unitcode +'", "'+ state +'");">Yes</a> <a id="btnRed" onclick="toggleVisibility(\'overlayAddDevice\')">No</a>');
console.log(OverlayMessage);
overlayMessage(OverlayMessage);
这是checkIfSettingsWork函数
function checkIfSettingsWork(protocol, systemcodeSend, unitcode, state) {
console.log(protocol + systemcodeSend + unitcode + state)
}
这是无效的html:
<a id="btnGreen" onclick="checkIfSettingsWork("pollin", "31", "14", "on");">Yes</a>
有效的synatax将是
<a id="btnGreen" onclick="checkIfSettingsWork('pollin', '31', '14', 'on')">Yes</a>
是
您犯了一个低级错误
这是无效的,如onclick=“checkIfSettingsWork(“pollin”、“31”、“14”、“on”);”
你需要修正“到”
另一件事是,我认为当您声明
overlyMessage
时,只是我的建议,可能您需要统一使用“
和”
字符 这里有很多上下文,我认为它们需要分开。您正试图在这个声明中创建文本、HTML和JavaScript。同样在你混合单引号和双引号。在您的连接中。你可以两者都用,但它们必须匹配
把所有这些都放在一条线上是不安全的。尤其是onClick函数。我不想直接为JavaScript函数创建HTML模板,然后将变量输入函数
函数中的参数也不需要任何引号,只需输入变量即可
CheckIfSettingsWork(协议、系统代码发送、单位代码、状态)尝试用单引号替换参数中的双引号。mh OP是否真的需要TL;博士只回答了6行文字?
<a id="btnGreen" onclick="checkIfSettingsWork("pollin", "31", "14", "on");">Yes</a>
<a id="btnGreen" onclick="checkIfSettingsWork('pollin', '31', '14', 'on')">Yes</a>
<a id="btnGreen" onclick="checkIfSettingsWork('pollin', '31', '14', 'on')">Yes</a>