php
1 <table class="tan"> 2 <?php 3 echo $this->Form->control('selectuser', 4 ['type' => 'hidden', 'id' => 'hID', 'value' => $uid]); 5 ?> 6 <tr> 7 <th class="koumoku">担当者</th> 8 <td class ="koinfo"> 9 <?php 10 echo $this->Form->select( 11 'employee', ["option" => $person], 12 ['default' => $uid, 'onchange' => 'slctuser()'] 13 ) 14 ?> 15 16 </td> 17 <td style = 'width:100px; text-align: center;'> 18 <?php 19 echo $this->form->postbutton( 20 '表示', ['action' => 'boxchange'], 21 ['class' => 'hbtn', 22 'data' => ['selectuser' => $uid] 23 ] 24 ); 25 ?> 26 </td> 27 </tr> 28 29 </table>
javascript
1function slctuser(){ 2 var employee = document.getElementsByName('employee'); 3 var Pid = employee[0].value; 4 document.getElementById('hID').value = Pid; 5}
php
1//Controller 2//dataの受け取り 3 $PData = $this->request->getdata(); 4 $puser = $PData['selectuser'];
というセレクトボックスの値を変更したときに発生するイベントで、'id' => 'hID'のValueが変更されます。ですが、検証ツールで見た時には値が変更されているのですが、表示ボタンで遷移したアクションでは、変更前の値となってしまいます。既にPHPは読み込まれて表示されているから、たとえ、JavaScriptのイベントが走っても、変数$uidへの値の上書きはできないのでしょうか?
回答1件
あなたの回答
tips
プレビュー