2016-04-09 12 views
0

私はクリック時にフォームを更新する次のコードを持っています。タイトルとコンテンツを入力すると、うまく動作します。私がstartDateを追加すると、何も入力されません。私の構文の中に何かが間違っていると仮定して、私はすべての論理が正しいように見えます。何か不足していますか?JSが値渡しに失敗しましたか?

 <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>"; 
     } 

     ?> 
+1

そのような文字列は、災害のためのレシピのように見えます。少なくとも、PHPデータをページにJSONエンコード文字列として出力することをお勧めします。 – elclanrs

答えて

0

もう少しテストして解決策が見つかりました。 JSは文字付きの変数名を承認しませんでした。その変数の名前を編集した後、コードは正常に動作しました。

関連する問題