Javascript JS无法传递值?

Javascript JS无法传递值?,javascript,php,Javascript,Php,我有下面的代码,在单击时更新表单。填充标题和内容时,效果良好。当我添加startDate时,没有填充任何内容。我假设我的语法有问题,但所有的逻辑在我看来都是正确的。我错过什么了吗 <script type="text/javascript"> function changeText(title, content, startDate){ window.alert("test");

我有下面的代码,在单击时更新表单。填充标题和内容时,效果良好。当我添加startDate时,没有填充任何内容。我假设我的语法有问题,但所有的逻辑在我看来都是正确的。我错过什么了吗

        <script type="text/javascript">
            function changeText(title, content, startDate){
                window.alert("test");
                document.getElementById('startDate').value = document.getElementById(startDate).getAttribute('data-content');
                document.getElementById('content').value = document.getElementById(content).getAttribute('data-content');
                document.getElementById('title').value = document.getElementById(title).getAttribute('data-content');      
       }
       </script>
       <?php
       foreach ($announcement as $row){ //Displays title, startDate, endDate from announcement table from database 
       $tile = ($row["announcementID"] ."t");
       $cont = $row["announcementID"];
       $startDate = ($row["announcementID"] ."s");


       echo "<h2 style=width:auto;padding:8px;margin-top:-30px;font-size:18px;><a style=text-decoration:none;color:#c4572f; >".$row["title"]."</a></h2><br>";
       echo "<p style=padding-top:10px;>".$row["content"]."</p><br>";
       echo "<p style=font-size:10px;>Posted: ".$row["startDate"]."</p><br>";
       echo '<input id="'.$tile.'" data-content="'.$row["title"].'" type=button class=test onclick="changeText(id, '.$cont.', '.$startDate.');" value="Edit">';
       echo '<p id="'.$cont.'"  data-content="'.$row["content"].'">test</p>';
       echo '<p id="'.$startDate.'"  data-content="'.$row["startDate"].'">startDate</p>';
       echo "<h5 style=line-height:2px;margin-top:-15px;><p>_____________________________________</p></h5><br>";
      }

        ?>

函数更改文本(标题、内容、起始日期){
窗口警报(“测试”);
document.getElementById('startDate')。value=document.getElementById(startDate).getAttribute('data-content');
document.getElementById('content')。value=document.getElementById(content)。getAttribute('data-content');
document.getElementById('title')。value=document.getElementById(title)。getAttribute('data-content');
}

我在进一步测试后找到了解决方案。JS不赞成附加字母的变量名。编辑变量名称后,代码运行良好。

类似的字符串看起来像是灾难的原因。至少我建议您将PHP数据作为JSON编码字符串输出到页面。