Javascript 浏览器控制台错误

Javascript 浏览器控制台错误,javascript,html,css,onclick,Javascript,Html,Css,Onclick,关于下面的答案,我的浏览器控制台中有以下错误 根据浏览器控制台,错误在这一行 未捕获类型错误:无法设置nullcal.php:26(匿名函数)的属性“onclick” 在1月、4月、11月以外的时间单击a日期时,表单不会打开 like 26上的代码来自控制台浏览器 document.getElementById('trigger0').onclick = function() {showForm()};document.getElementById('trigger1').onclic

关于下面的答案,我的浏览器控制台中有以下错误

根据浏览器控制台,错误在这一行

未捕获类型错误:无法设置nullcal.php:26(匿名函数)的属性“onclick”

在1月、4月、11月以外的时间单击a日期时,表单不会打开

like 26上的代码来自控制台浏览器

document.getElementById('trigger0').onclick = function()     
{showForm()};document.getElementById('trigger1').onclick = function()    
{showForm()};document.getElementById('trigger2').onclick = function() 
{showForm()};document.getElementById('trigger3').onclick = function() 
{showForm()};document.getElementById('trigger4').onclick = function() 
{showForm()};document.getElementById('trigger5').onclick = function() 
{showForm()};document.getElementById('trigger6').onclick = function() 
{showForm()};document.getElementById('trigger7').onclick = function()    
{showForm()};document.getElementById('trigger8').onclick = function() 
{showForm()};document.getElementById('trigger9').onclick = function() 
{showForm()};document.getElementById('trigger10').onclick = function() 
{showForm()};document.getElementById('trigger11').onclick = function() 
{showForm()};document.getElementById('trigger12').onclick = function() 
{showForm()};document.getElementById('trigger13').onclick = function() 
{showForm()};document.getElementById('trigger14').onclick = function() 
{showForm()};document.getElementById('trigger15').onclick = function() 
{showForm()};document.getElementById('trigger16').onclick = function() 
{showForm()};document.getElementById('trigger17').onclick = function() 
{showForm()};document.getElementById('trigger18').onclick = function() 
{showForm()};document.getElementById('trigger19').onclick = function() 
{showForm()};document.getElementById('trigger20').onclick = function() 
{showForm()};document.getElementById('trigger21').onclick = function() 
{showForm()};document.getElementById('trigger22').onclick = function() 
{showForm()};document.getElementById('trigger23').onclick = function() 
{showForm()};document.getElementById('trigger24').onclick = function() 
{showForm()};document.getElementById('trigger25').onclick = function() 
{showForm()};document.getElementById('trigger26').onclick = function() 
{showForm()};document.getElementById('trigger27').onclick = function() 
{showForm()};document.getElementById('trigger28').onclick = function() 
{showForm()};document.getElementById('trigger29').onclick = function() 
{showForm()};document.getElementById('trigger30').onclick = function() 
{showForm()};document.getElementById('trigger31').onclick = function()   
{showForm()};document.getElementById('trigger32').onclick = function()  
{showForm()};document.getElementById('trigger33').onclick = function()    
{showForm()};document.getElementById('trigger34').onclick = function()     
{showForm()};   function showForm(){
它所涉及的代码是:
$timestamp = mktime(0,0,0,$cMonth,1,$cYear);
$maxday = date("t",$timestamp);
$thismonth = getdate ($timestamp);
$startday = $thismonth['wday'];
$today = getdate();

for ($i=0; $i<($maxday+$startday); $i++) {

if(($i % 7) == 0 ) echo "<tr> ";

if($i < $startday) echo "<td></td> ";

  else echo "<td align='center' valign='middle' height='20px'><a href='#'    
 id='trigger" . $i . "'>". ($i - $startday + 1) . "</a></td>";  

  $jsEvent[] = "document.getElementById('trigger" . $i . "').onclick =     
 function() {showForm()};";

  if(($i % 7) == 6 ) echo "</tr> ";
  }
  ?>
$timestamp=mktime(0,0,0,$cMonth,1,$cYear);
$maxday=日期(“t”,时间戳为$timestamp);
$thismonth=getdate($timestamp);
$startday=$thismonth['wday'];
$today=getdate();
对于($i=0;$i)
javascript代码

 <script type="text/javascript">
 <?php foreach($jsEvent as $event){
        echo $event;
     } ?>
 function showForm(){
     document.getElementById('timeslots').style.display="block";
 };
 </script>

函数showForm(){
document.getElementById('timeslots').style.display=“block”;
};

您可以使用javascript。您可以使用onClick=“”触发隐藏/显示表单的js函数

<script type="text/javascript">
   <?php foreach($jsEvent as $event){
            echo $event;
         } ?>
   function showForm(){
         document.getElementById('timeslots').style.display="block";
    };
</script>

函数showForm(){
document.getElementById('timeslots').style.display=“block”;
};
然后改变

<table width='400' border='2' cellpadding='2' cellspacing='2' id='timeslots'
  style="visibility:invisible"'>

还要改变这一点:

<td align='center' valign='middle' height='20px'><a href='#'>". ($i - $startday + 1) . "</a></td>

为此:

<td align='center' valign='middle' height='20px'><a href='#' id='trigger" . $i . "'>". ($i - $startday + 1) . "</a></td>

记住,“editform”只是一个建议的ID,需要与您正在使用的触发器/日期的ID匹配

我已经尝试过,到处搜索,但我无法找到另一个解决方案,用下面的代码替换您的for循环(for和其中的所有内容)

for ($i=0; $i<($maxday+$startday); $i++) {

if(($i % 7) == 0 ){
 echo "<tr> ";
}

if($i < $startday){
 echo "<td></td> ";
} else{
 $jsEvent[] = "document.getElementById('trigger" . $i . "').onclick =     
 function() {showForm()};" . PHP_EOL;     

 echo "<td align='center' valign='middle' height='20px'><a href='#'    
 id='trigger" . $i . "'>". ($i - $startday + 1) . "</a></td>"; 
}



  if(($i % 7) == 6 ){
      echo "</tr> ";
 }
  }

用于($i=0;$i我没有读你的代码,我假设
php
代码机制可以用来创建日历,你需要的是把你的表单放在一个
属性的
中,并在其中存储一些
CSS
,使你的分区不可见,即
显示:无;
可见性:隐藏
。您还可以在
属性中设置这些设置,并将样式放入外部
css
。如下所示:

<div style="display:none;" id="calendar"><?php #your php code here ?></div>
<a onclick="document.getElementById('calendar').style.display='block'"> click me to show calendar </a>

你需要javascript。你是如何隐藏你的表单的?与其到处使用align、bgcolor和style,我建议使用类。这样你的代码更容易阅读。谢谢kevin,我将对此进行研究,我对这种语言非常陌生,所以在这个阶段不太确定创建一个jQuery on click事件,比如
$('button')。单击(){function(){$('#时隙')。show();})
这对我一点帮助都没有。
<a onclick="document.getElementById('calendar').style.display='block'"> click me to show calendar </a>