单击JavaScript按钮

单击JavaScript按钮,javascript,button,conditional-statements,Javascript,Button,Conditional Statements,我是一个JavaScript新手,请帮我解决一些小问题 我在这里错过了什么。。。。。。。。我想纠正这个 我正在尝试这个: if({!Account.CID__c}){ window.open( '{! SUBSTITUTE($Setup.CustomSetting__c.Link__c,"[#CID#]",Account.CID__c)}'); } else{ window.open( '{! SUBSTITUTE($Setup.CustomSetting__c.Link__c,"[#

我是一个JavaScript新手,请帮我解决一些小问题

我在这里错过了什么。。。。。。。。我想纠正这个

我正在尝试这个:

if({!Account.CID__c}){
    window.open( '{! SUBSTITUTE($Setup.CustomSetting__c.Link__c,"[#CID#]",Account.CID__c)}');
}
else{
 window.open( '{! SUBSTITUTE($Setup.CustomSetting__c.Link__c,"[#CID#]",Account.AnotherField__C )}')
}
window.open( '{!SUBSTITUTE($Setup.CustomSettings__c.Link__c,"[#CID#]",Account.CID__c)}');
并得到错误:

现在它给我“意外令牌”错误

早些时候,我正在吃

if({!Account.CID__c}){
    window.open( '{! SUBSTITUTE($Setup.CustomSetting__c.Link__c,"[#CID#]",Account.CID__c)}');
}
else{
 window.open( '{! SUBSTITUTE($Setup.CustomSetting__c.Link__c,"[#CID#]",Account.AnotherField__C )}')
}
window.open( '{!SUBSTITUTE($Setup.CustomSettings__c.Link__c,"[#CID#]",Account.CID__c)}');
我只想在这里再添加一个条件,即

If(CID__C == null){
  // put another AnotherField__C in place of that.
}else{ 
   //put Account.CID__C ...which we were having earlier 
}

在javascript中,null是错误的。这个语句前的运算符将反转比较(即,null将变为true)。所以你可以这样做。另外,请注意我是如何使用括号的

If (!Account.CID__c) {
  //do something 
  } else {   
  //do something
}

您还可以在最终else之前使用“else if”语句嵌套其他参数

这对我有用。。。。感谢@Ashwani

if( '{!Account.CID__c}' == 'null' || '{!Account.CID__c}' == ''){
    window.open( '{! SUBSTITUTE($Setup.CustomSetting__c.Link__c,"[#CID#]",Account.AnotherField__C)}');
}
else {
    window.open( '{! SUBSTITUTE($Setup.CustomSetting__c.Link__c,"[#CID#]",Account.CID__c )}')
}

请参阅更新的问题,现在它给了我“意外令牌”错误确保在if语句中没有任何额外的{}或()。你能发布更多的代码吗?例如,Account.CID\uu c是什么?不,我可以肯定,它在ELSE条件下的给定错误,对于IF条件,它仍然没有使用给定的CID\uu(预期标记)打开窗口,这意味着javascript看到了一个它不希望看到的“')”字符。很可能需要在代码中的某个地方将“}”字符放在“')字符之前。此外,如果您使用浏览器,控制台应该告诉您发生错误的行以及文件名。