首页 > 解决方案 > 按下 HTML 按钮时停止页面刷新?

问题描述

大家好,我是互联网语言的新手,我想用苹果解释你的帮助!

我正在尝试用树莓派 3b+ 制作一个网络服务器控制的机器人。我已经使用一些 HTML 调用一些 PHP 代码,然后执行 Python 脚本来移动机器人。问题是,当我按下按钮移动机器人时,页面会刷新,然后再次加载所有内容,这真的很烦人。(HTML 和 PHP 在同一个文档中)

我读过一些人们说要使用<button>标签的帖子type="button",但是当我这样做时,什么也没有发生。让我与您分享代码。其他人说要使用 AJAX,但我真的不知道如何使用。

HTML:

<form action="" method="post">
    <div>
        <div>
            <button type="button" name="boton7"><img src="imagenes/up.png"></button>
            </div>
            <div>
            <button type="button" name="boton8"><img src="imagenes/left.png"></button><!--
            --><button type="button" name="boton10"><img src="imagenes/stop.png"></button><!--
            --><button type="button" name="boton9"><img src="imagenes/right.png"></button><!--
            -->
            </div>
            <div>
            <button type="button" name="boton6"><img src="imagenes/down.png"></button>
            </div>
    </div>
</form>

PHP:

<?php
    //Primera fila || mover_arriba.py
    if(isset($_POST['boton6'])){
            exec('python /var/www/html/mover_arriba.py');
    }

    //Primera fila || mover_abajo.py
    if(isset($_POST['boton7'])){
            exec('python /var/www/html/mover_abajo.py');
    }
?>

我想知道它是否可以在不使用 AJAX 或 JS 的情况下完成(解释的语言让我感到困惑),或者我是否可以修改此代码上的某些内容以实现我想要的。如您所见,我使用了表单,我真的不明白按钮是否可以在没有表单的情况下执行某些操作,为什么有时人们使用input="submit",我也看到了“ onclick=”。请使用尽可能清晰的答案。

如果您还需要什么,请告诉我!

编辑:我忘了提到,如果我从中删除type="button"它就<button type="button"可以了。

标签: phphtmlrefresh

解决方案


一种可能的解决方案是您可以让您的 PHP 代码将“假”值返回给表单。这将阻止页面刷新。这样,PHP 代码将调用 python 代码,但表单不会刷新,因为它从 PHP 函数接收到错误值。


推荐阅读