【问题标题】:JavaScript if statement / displaying a buttonJavaScript if 语句/显示按钮
【发布时间】:2015-03-02 22:47:09
【问题描述】:

我正在尝试锻炼以下 JavaScript if 语句:

<script>
  if ($crs_date2 != '0000-00-00'){
    document.write('No other course date available');
  } else {
    document.write(<button class='btn btn-danger data-toggle='modal' id='actionButtonOrange'>$crs_date2</button>);
  }   
</script>

我遇到了两个问题:

  1. 按钮未显示。
  2. 该功能似乎没有按预期工作。

基本上会发生的情况是,如果没有可用的日期(默认情况下,如果没有可用的日期但不美观,它会显示 0000-00-00),就会出现 JavaScript 消息。

【问题讨论】:

  • 您需要在document.write() 的参数周围加上引号。你没有遇到语法错误吗?
  • $crs_date2 是 Javascript 变量还是 PHP 变量?
  • 我认为您应该学习如何调试您的 javascript,然后再将其发布到堆栈溢出。以Google Chrome Developer Tools 为例。
  • $crs_date2 是一个 php 变量

标签: javascript html if-statement


【解决方案1】:

字符串周围缺少分隔符:

document.write("<button class='btn btn-danger data-toggle='modal' id='actionButtonOrange'>" + $crs_date2 + "</button>"); 

【讨论】:

  • 感谢您的建议。我确实对在 php echo 语句中插入此 javascript 的引用有一个小问题,因此我写了以下 document.write(''');
  • @jon220:那行不通。您不能对字符串使用不同的开始和结束分隔符。此外,在撇号分隔的字符串中,您不能在不转义的情况下使用撇号,引号也是如此。对于 PHP 字符串中的 Javascript 代码,您需要转义在 PHP 中围绕字符串使用的字符。如果您使用相同的分隔符,则需要对 Javascript 字符串中的字符进行双重转义。示例:echo '&lt;script&gt;document.write(\'&lt;button class=\\\'btn\\\'&gt;\');&lt;/script&gt;';.
  • 我正在尝试理解您的最后建议。如果没有太多要求,是否可以重做这个 document.write(''');谢谢
  • @jon220:你的意思是echo?当然:echo('document.write(\'&lt;button class="btn btn-danger" data-toggle="modal" id="actionButtonOrange"&gt;\' + $crs_date2 + \'&lt;/button&gt;\');');.
猜你喜欢
  • 2016-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-16
  • 2013-05-16
  • 2013-07-21
相关资源
最近更新 更多