2016-02-05 20 views
0

我有一些与onchange事件组合框,并选择其中一个时,他们会重置对方,有没有建议如何保留页面上的值?这是我的脚本:一些组合框选择后重置对方

<form method="POST" name="form1" action="<?php $_SERVER['PHP_SELF'];?>"> 
    <table border="0"> 
     <tr> 
      <td colspan="6"></td> 
     </tr> 
     <tr> 
      <td> 
       <select name="select_petugas1" style="width:18px;" onchange="this.form.submit('select_petugas1');"> //first combobox 
        <option></option> 
        <?php include 'dbconn.php'; 
         $sql_peg1="SELECT * FROM users"; $result_peg1=$conn->query($sql_peg1); 
         while($row_peg1=$result_peg1->fetch_assoc()){ 
          echo "<option>".$row_peg1['nama']."</option>"; 
         } 
        ?> 
       </select> 
      </td> 
      <td> 

      <?php 
       if(isset($_POST['select_petugas1'])){ 
        $select_petugas1=$_POST['select_petugas1']; 
        echo "<input type='text' name='select_petugas1' value='".$select_petugas1."'>"; // Throw 1st result into the text box 
        $sql_NIP1="SELECT NIP FROM users WHERE nama='$select_petugas1'"; 
        $result_NIP1=$conn->query($sql_NIP1); 
        $row_NIP1=$result_NIP1->fetch_assoc(); 
        $NIP1=$row_NIP1['NIP']; 
      ?> 
      </td> 
      <td>&nbsp;NIP</td> 
      <td>:</td> 
      <td><input type="text" name='NIP1' value="<?php echo $NIP1; ?>"></td> 
     </tr> <!-- child of first result --> 
     <tr> 
      <td colspan="5" bgcolor="blue"></td> 
     </tr> 
     <tr> 
      <td> 
       <select name="peg_2" style="width:18px;" onchange="submit(this)"><!--2nd combobox--> 
        <option></option> 
       <?php 
        $sql_peg2="SELECT nama FROM users"; 
        $result_peg2=$conn->query($sql_peg2); 
        while ($row_peg2=$result_peg2->fetch_assoc()){ 
         echo "<option value='".$row_peg2['nama']."'>".$row_peg2['nama']."</option>"; 
        } 
       ?> 
       </select> 
      </td> 
      <td> 
      <?php 
       if(isset($_POST['peg_2'])){ 
        $peg_2=$_POST['peg_2']; 
        echo "<input type='text' name='peg2' value='".$peg_2."'>"; // 2nd result throw into 2nd texbox 
        $sql_NIP2="SELECT NIP FROM users WHERE nama='$peg_2'"; 
        $result_NIP2=$conn->query($sql_NIP2); 
        $row_NIP2=$result_NIP2->fetch_assoc(); 
      ?> 
        </td> 
        <td>&nbsp;NIP</td> 
        <td>:</td> 
        <td><input type='text' name='NIP2' value="<?php echo $row_NIP2['NIP'];?>"> <!--2nd child of result--> 
      <?php 
       } 
      } 
      if(isset($_POST['NIP2'])){ 
       $NIP2=$_POST['NIP2']; 
       echo "<br /> NIP2 :".$NIP2."<br />"; 
      } 
      mysqli_close($conn); 
      ?> 
      </td> 
     </tr> 
    </table> 
</form> 

<form method="POST" name="wilayah" id="wilayah" action="<?php $_SERVER['PHP_SELF'];?>"> 
    <table border="1"> 
     <tr> 
      <td> 
       <select name="select_provinsi" onchange="submit(this)" style="width:18;"> 
        <option selected>PROVINSI</option> 
        <?php 
         include 'dbconn.php'; 
         $sql_prov="SELECT * FROM wilayah GROUP BY provinsi"; 
         $result_prov=$conn->query($sql_prov); 
         echo ""; 
         while($row_prov=$result_prov->fetch_assoc()){ 
          $provinsi=$row_prov['provinsi']; 
          echo "<option value='".$provinsi."'>".$provinsi."</option>"; 
         } 
        ?> 
       </select> 
       <?php 
        if(isset($_POST['select_provinsi'])){ 
         $select_provinsi=$_POST['select_provinsi']; 
         echo " 
           <input type='text' name='select_provinsi' value='".$select_provinsi."' placeholder='PROVINSI'> 
          </td> 
         </tr>"; 


         $sql_kabkota="SELECT * FROM wilayah WHERE provinsi='$select_provinsi' GROUP BY kab_kota"; 
         $result_kabkota=$conn->query($sql_kabkota); 
       ?> 
      <tr> 
       <td> 
        <select name="select_kabkota" style="width:18px;" onchange="submit(this)"><option>KAB/KOTA</option> 
        <?php 
         while($row_kabkota=$result_kabkota->fetch_assoc()){ 
          echo "<option>".$row_kabkota['kab_kota']."</option>"; 
         } 
        ?> 
        </select> 
        <?php 
        } 
        if(isset($_POST['select_kabkota'])){ 
         $select_kabkota=$_POST['select_kabkota']; 
        ?> 
         <input type="text" name="kab_kota" value="<?php echo $select_kabkota;?>"> 
        <?php 
         } 
         mysqli_close($conn); 
        ?> 
       </td> 
      </tr>  
    </table> 
</form> 

希望解决我的问题与他们的任何建议,,

+0

商店提交值并检查值渲染选择菜单时 - 如果会话变量对于选择菜单设置值“选择“为那个选择 – RamRaider

回答

0

onchange="submit(this)"意味着要提交表单时的组合框的值更改。所以,当表单被发送时,页面会重新加载,您将获得表单的默认值。 要恢复所选择的价值,我会做这样的事情:在一个会话变量

<select name="select_kabkota" style="width:18px;" onchange="submit(this)"> 
<option>KAB/KOTA</option> 
    <?php 
    if(isset($_POST['select_kabkota'])) 
    $select_kabkota=$_POST['select_kabkota']; 

    while($row_kabkota=$result_kabkota->fetch_assoc()) 
    { 
    $selected = $select_kabkota == $row_kabkota['kab_kota'] ? 'selected="selected"' : ''; 
    echo "<option ".$selected." >".$row_kabkota['kab_kota']."</option>"; 
    } 
?> 
</select>