Предотвратить перезагрузку сайта после подслащивания - PullRequest
0 голосов
/ 12 февраля 2020

На веб-странице есть таблица с несколькими строками. В каждой строке есть кнопка, которая вызывает функцию Javascript:

PHP / HTML:

echo "<form action='' method='post'>";
echo "<button type='submit' name='test' value=".$row[4]." class='attest btn btn-info btn-round btn-icon btn-icon-mini btn-neutral' data-original-title='Test'><i class='now-ui-icons files_single-copy-04'></i></button>";
echo "</form>"; 

PHP:

if(isset($_POST['test'])) 
{
    $file="/files/".$_POST['test'].".jpg";
    $caption="Image: ".$_POST['test'];

    if (file_exists($_SERVER['DOCUMENT_ROOT'].$file)) 
        {
            echo"<body onload='showtest()'>";
        } 
    else 
        {

            echo"<body onload='notest()'>";
        }
}

JS:

function showtest()
{
 swal({
  title: 'Image',
  text: <?php echo json_encode($caption); ?>,
  imageUrl: <?php echo json_encode($file); ?>,
  imageWidth: 400,
  imageAlt: 'Image',
})
}

function noattest()
{
swal({
  title: 'Image',
  text: "There is no image.",
  icon: 'warning',
})
}

Диалог отображается с помощью Sweetalert2. Проблема в том, что таблица содержит так много записей, что веб-страницу необходимо прокручивать. В результате предупреждение отображается правильно, но веб-страница «снова прокручивается» / перезагружается. Это очень раздражает, потому что вам нужно снова искать нужную строку в таблице.

Есть ли решение, чтобы веб-страница не перепрыгивала наверх?

...