предотвращение обновления страницы по тегу привязки

Поскольку мой вопрос кажется распространенным, но я передаю свой вопрос на stackoverflow, но не получил своего решения. Как избежать обновления страницы на якоре (<></ а>) тег нажмите? ссылка также.

Моя проблема:

Я использую два раскрывающихся списка для фильтрации данных. Я сделал с фильтрацией и получил данные в соответствии с результатом в таблице данных. Теперь у меня есть три действия в таблице данных с тегом привязки. Когда я щелкаю по этому тегу привязки, мои отфильтрованные данные не сохраняются, и это очищает результат.

Пожалуйста, помогите мне выйти из этой проблемы.

Мой фрагмент кода:
Для двух выпадающих

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

3

Решение

<a href="URL"> всегда будет менять ваше местоположение …
То, что вы хотите достичь, это просто использовать Ajax механизм, поэтому обновите ваш код с помощью чего-то вроде этого:

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

а также YOUR_JS_FUNCTION() сделает асинхронный запрос к вашему серверу (published_product.php? product_id = хххх)

Есть тысячи примеров в Интернете, которые показывают вам, как использовать Ajax с или без дополнительных платформ

Ты можешь найти Вот пример использования JQuery

2

Другие решения

Если вы используете jquery, тогда метод protectDefault () должен помочь вам достичь желаемого результата.

Вот их официальная документация: https://api.jquery.com/event.preventdefault/

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector