因为我的问题似乎很常见,但我在 stackoverflow 上提到了我的问题,但没有得到我的解决方案。我也提到了 How to avoid page refreshing on anchor (<a></a>) tag click? 链接。

我的问题:

我正在使用两个下拉列表来过滤数据。我已经完成了过滤并根据数据表中的结果获取了数据。现在我对带有 anchor 标记的数据表进行了三个操作。当我单击该 anchor 标签时,我过滤的数据将不会保留,并且结果会清晰。

请帮我解决这个问题。

我的代码片段:
对于两个下拉

 <form name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data">
 <div class="controls col-md-3">
          <select required id='selectError2' placeholder='select Category' class='form-control' name='category'>
            <option value=''>Select Category</option>
               <?php
                   include("db.php");
                   $sql="SELECT * FROM category";
                   $result=mysql_query($sql);
                   while($row = mysql_fetch_array($result)){
                       echo "<option value='". $row['category_name'] ."' >". $row['category_name'] ." </option>";
                   }
                ?>
        </select>
</div>
<div class="controls col-md-3">
             <select required id='selectError2' placeholder='select subcategory'  class='form-control' name='subcategory'>
                <option value=''>Select SubCategory</option>
                     <?php
                         include("db.php");
                         $sql="SELECT * FROM subcategory";
                         $result=mysql_query($sql);
                         while($row = mysql_fetch_array($result)){
                              echo "<option value='". $row['subcategory_name'] ."'>". $row['subcategory_name'] ."</option>";
                         }
                     ?>
         </select>
</div>
<div class="controls col-md-2">
      <input type="submit" class="btn btn-default" name="btn_submit" style="font-weight:bold" value="GO"/>
</div>
</form>
</tr>
</thead>
</table>

我的另一个数据表部分是:
<?php
              while($row = mysql_fetch_array($result)){
                 /* other stuff */
                 <a class='btn btn-danger' href='product_delete.php?product_id=".  $row['product_id'] ."'>
                     <i class='glyphicon glyphicon-edit icon-white'></i>Delete
                 </a>
                 </td>
                 $query1 = "query"; //You don't need a ; like you do in SQL
                 $result1 = mysql_query($query1);
                 $count=mysql_num_rows($result1);
                 if($count == 1){
                      echo"<td style='text-align:center'>
                      <a href='unpublished_product.php?product_id=".  $row['product_id'] ."'>
                        <img alt='' src='/admin/img/published.png' style='width:30px;height:30px;' />
                      </a>
                      </td>";
                  }
                  else {
                      echo"<td style='text-align:center'>
                      <a href='published_product.php?product_id=".$row['product_id']."'>
                         <img alt='' src='/admin/img/unpublished.png' id=' ". $row['product_id'] . "' onclick='atualiza()' style='width:30px;height:30px;' />
                      </a>
                      </td>";
                  }
                  echo"</tr>";
             }
?>

最佳答案

<a href="URL"> 将始终更改您的位置...
你想要实现的只是使用 Ajax 机制 ,所以用这样的东西更新你的代码:

<a href="javascript:void(0)" onclick="YOUR_JS_FUNCTION();">Link</a>

并且 YOUR_JS_FUNCTION() 将对您的服务器执行异步请求( published_product.php?product_id=xxxx )
互联网上有数以千计的示例向您展示了如何在有或没有附加框架的情况下使用 Ajax

您可以使用 JQuery 找到 here 示例

关于php - 防止页面刷新 anchor 标记,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35913639/

10-16 15:16