<script>  
  function  addline(content){  
  
  newline=document.all.test.insertRow();  
  newline.insertCell().innerHTML=" <input size=10 type='text' name='tt[]'> <input size=10 type='text' name='aa[]' id='end_date_b'> <input type='reset' value='...'  onclick='return showCalendar('end_date_b', 'y-m-d')';><input size=10 type='text' name='bb[]'> <input type='button' value='删除'  onclick='del()'> </tr>" 
    
  }  
  function  del(){  
  document.all.test.deleteRow(window.event.srcElement.parentElement.parentElement.rowIndex);  
  }  
  </script> 语法都有错误

解决方案 »

  1.   

    贴出 showCalendar 的代码
      

  2.   


    这应该没问题啊,我在<form action="bbccmail.php" method="POST">  
      <input  type="button"  onclick="addline()"  value="增加一行">  
      <table  border="1"  id="test" cellpadding="1" cellspacing="1">      
        <tr> 
        <td width="250">提醒项目&nbsp;&nbsp;提醒时间&nbsp;&nbsp;提醒邮件 </td> </tr> 
          <tr>  
            <td colspan="3"> <input size=10 type="text" name="tt[]" > 
    <input size=10 type="text" name="aa[]" id="begin_date_b" > 
    <input type="reset" value="..." 
    onclick="return showCalendar('begin_date_b', 'y-m-d');"> 
    <input size=10 type="text" name="bb[]"> </td> 
            </tr>  
      </table>  
      <input value="bbccdd"type="submit">  
      </form>  这都能正常显示的
      

  3.   

    function showCalendar(id, format) {
      var el = document.getElementById(id);
      if (calendar != null) {
        // we already have some calendar created
        calendar.hide();                 // so we hide it first.
      } else {
        // first-time call, create the calendar.
        var cal = new Calendar(false, null, selected, closeHandler);
        // uncomment the following line to hide the week numbers
        // cal.weekNumbers = false;
        calendar = cal;                  // remember it in the global var
        cal.setRange(1900, 2070);        // min/max year allowed.
        cal.create();
      }
      calendar.setDateFormat(format);    // set the specified date format
      calendar.parseDate(el.value);      // try to parse the text in field
      calendar.sel = el;                 // inform it what input field we use  // the reference element that we pass to showAtElement is the button that
      // triggers the calendar.  In this example we align the calendar bottom-right
      // to the button.
      calendar.showAtElement(el.nextSibling, "Br");        // show the calendar  return false;
    }
      

  4.   

    又找了一个代码,还是同样的问题,不能在动态的文本框后把日历控件给加上
    <html>
    <head>
    <title>动态增加文本框</title>
      <link rel="stylesheet" type="text/css" media="all" href="calendar-win2k-cold-1.css" title="win2k-cold-1" />  
      <script type="text/javascript" src="js/calendar.js"></script>  
      <script type="text/javascript" src="js/calendar-zh.js"></script>  <script type="text/javascript" src="js/calendar-setup.js"></script>
      
    <script type="text/javascript">
    <!--
    var textNumber = 1;
    function addTextBox(form, afterElement) {
      // Increment the textbox number
      textNumber++;
      // Create the label
      var label = document.createElement("label");
      // Create the textbox
      var textField = document.createElement("input");
      textField.setAttribute("type","text");
      textField.setAttribute("name","tt[]"+textNumber);
      textField.setAttribute("id","tt"+textNumber);
        var textField1 = document.createElement("input");
      textField1.setAttribute("type","text");
      textField1.setAttribute("name","aa[]"+textNumber);
    //  textField1.setAttribute("id","aa"+textNumber); 这行代码能否加成以下这样?????语法有没有问题,现在报错,动态框不能增加了,当然也无从看到动态框的日历控件textField1.setAttribute("id","begin_date_b"+textNumber)<input type="reset" value="..." onclick="return showCalendar('end_date_b', 'y-m-d');">; 
        var textField2 = document.createElement("input");
      textField2.setAttribute("type","text");
      textField2.setAttribute("name","bb[]"+textNumber);
      textField2.setAttribute("id","bb"+textNumber);
      // Add the label's text
      label.appendChild(document.createTextNode("提醒"+textNumber+": "));
      // Put the textbox inside
      label.appendChild(textField);
      label.appendChild(textField1);
      label.appendChild(textField2);
      // Add it all to the form
      form.insertBefore(label,afterElement);
      return false;
    }
    function removeTextBox(form) {
      if (textNumber > 1) { // If there's more than one text box
        // Remove the last one added
        form.removeChild(document.getElementById("tt"+textNumber).parentNode);
        textNumber--;
      }
    }
    //-->
    </script>
    <style type="text/css">
    <!--
    label {
      display:block;
      margin:.25em 0em;
    }
    -->
    </style>
    </head>
    <body><form  method="POST" action="bb6cc.php">
      <table   border="1"   id="test" cellpadding="1" cellspacing="1">    
      
      
      <label>提醒1: <input type="text" name="tt[]" id="tt" />
      <input type="text" name="aa[]" id="begin_date_b"><input type="reset" value="..." onclick="return showCalendar('begin_date_b', 'y-m-d');">
      <input type="text" name="bb[]" id="bb" /></label>
      <p>
        <input type="button" value="增加一行" onclick="addTextBox(this.form,this.parentNode)" />
        <input type="button" value="删除一行" onclick="removeTextBox(this.form)" />
      </table> 
      <p><input type="Submit" value="提交保存" /></p>
    </form>
    </body>
    </html>