TransWikia.com

Como evitar que se refresque la pagina al presionar Submit?

Stack Overflow en español Asked by EraldoCoil on December 2, 2020

tengo un codigo PHP dentro de una pagina html, que al presionar un button Submit checa IP:Puerto, pero quiero que NO se actualice la pagina al dar los resultados (porque si esta activado mi tema dark, lo regresa al default)

Este es el codigo:

<?php

if (!isset($_POST["submit"])) {
    $host = "HOST/IP";
    $port = "PUERTO";
    $status = '<span class="badge badge-success"><i class="far fa-smile"></i></span> ó <span class="badge badge-danger"><i class="fas fa-frown"></i></i></span>';
    $response = 0;
} else {
    $host = $_POST['host'];
    $port = $_POST['port'];
    $status = '<span class="label label-danger">No válido</span>';
    $response = getStatus($host, $port);
    //validation
    if (!is_numeric($port) || $port < 0 || $port > 65535) {
        echo '<meta http-equiv="refresh" content="0" />';
        echo '<script>alert("El puerto no es válido")</script>';
    }else{
        if ($response > 0) {
            $status = '<span class="badge badge-success"><i class="far fa-smile"></i></span>';
        } else {
            $status = '<span class="badge badge-danger"><i class="fas fa-frown"></i></span>';
        }
    }
}


function getStatus($host, $port)
{
    $start_time = microtime(TRUE);
    $timeout = 2;
    $socket = @fsockopen($host, $port, $errorNo, $errorStr, $timeout);
    if (!$socket) {
        return 0;
    }
    else {
        $end_time = microtime(TRUE);
        $time_taken = $end_time - $start_time;
        $time_taken = round($time_taken,5);
        return $time_taken * 1000;
    }
}
?>

Y este el boton:

<button name="submit" class="btn btn-primary" id="submit" >Checar</button>

¿Como evito que la pagina se refresque al dar los resultados? Es decir, que los de sin que tenga que actualizarse.

One Answer

Rsuelto con:

    const currentTheme = localStorage.getItem("theme");
if (currentTheme == "dark") {
    document.body.classList.toggle("dark-theme");
} else if (currentTheme == "light") {
    document.body.classList.toggle("light-theme");
}

para evitar el cambio de tema al refresh.

Correct answer by EraldoCoil on December 2, 2020

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP