如何通过单击复选框而不刷新页面来发布表单?

时间:2015-05-30 22:19:04

标签: javascript ajax forms

我正在制作一个带有覆盆子pi和raspbian的家庭自动化系统。我要设计一个网页,其中包含一些通过继电器控制灯光的复选框。我需要一个包含复选框的Web代码。当我单击该复选框时,php将执行一个控制继电器的python代码文件。我听说发布表单没有刷新页面可以通过ajax和javascript完成。但我不熟悉那些语言。大家好,请给我看一个简单的复选框示例,当我检查它时,它会使php exec()一些文件并取消选中它,它会使php exec()另一个文件。

以下是示例:

<!DOCTYPE html>
<html>
    <head>
        <script src="https://code.jquery.com/jquery-1.9.1.min.js"></script>
        <title>Raspberry Pi</title>
    </head>
    <body>
        <input type="checkbox" class="iclass" />
        <script>
    $("input.iclass").click(function (e) {
    e.preventDefault();
    $.post("post.php", {param1: value, param2: value});
});
        </script>
    </body>
</html>

而post.php现在只给出了alert('Succesful!');。但不知怎的,它不起作用。

1 个答案:

答案 0 :(得分:0)

确保使用jQuery库。你可以使用这样的东西:

$("input.checkbox-class").click(function (e) {
    e.preventDefault();
    $.post("/path/to/php/script.php", {param1: value, param2: value});
});

/path/to/php/script.php的来源将有:

<?php
    exec("system");
?>

包含完整HTML的示例代码为:

<!DOCTYPE html>
<html>
    <head>
        <script src="https://code.jquery.com/jquery-1.9.1.min.js"></script>
        <title>Raspberry Pi</title>
    </head>
    <body>
        <input type="checkbox" />
        <script>
            $(document).ready(function (e) {
                e.preventDefault();
                $.post("/path/to/php/script.php", {param1: value, param2: value});
            });
        </script>
    </body>
</html>