如何通过单击按钮运行我的PHP代码?

时间:2016-10-19 14:55:00

标签: php jquery html

我正在尝试为学校项目建立一个网站。我希望在单击“提交”按钮后发生schoolResponse()函数。如果我删除它的jQuery函数,但是当我加载页面时它会显示一个默认值。

这是我的代码:

<!DOCTYPE html>
<html>
  <head>
    <title>NHG</title>
    <meta charset="UTF-8"/>
    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
    <link type="text/css" rel="stylesheet" href="css/normalize.css"/>
    <link type="text/css" rel="stylesheet" href="css/style.css"/>
    <link type="text/css" rel="stylesheet" href="css/resposive.css"/>
  </head>
  <body>
    <header>
            <div id="main-head">
              <a href="#"><h2 id="main-heading">sKoolBook</h2></a>
            </div>
    </header>
    <section>
      <div id="container">
        <div id="wrapper">
          <form method="POST">
            <select name="school">
              <option value="none" name="none">Please Select a School...</option>
              <option value="NHG">New Horizon Gurukul</option>
            </select>
            <input type="submit" class="button"/>
            <?php
              error_reporting(0);
              $school = $_POST['school'];
              function schoolResponse() {
                if ($_POST['school'] == 'none'){ 
                  echo 'nothing';
                } else {
                  echo 'something';
                }
              }
            ?>
            <script>
              $('.button').click(
                function(
                  <?php schoolResponse(); ?>
                );
              );
            </script>
          </form> 
        </div>
      </div>
    </section>
    <footer>
    </footer>
  </body>
</html>

2 个答案:

答案 0 :(得分:0)

你无法像这样实现它。这是一个解决方案:

         <?php
          error_reporting(0);
          $school = $_POST['school'];
          function schoolResponse() {
            if ($_POST['school'] == 'none'){ 
              echo 'nothing';
            } else {
              echo 'something';
            }
          }

          if($_POST['school']) schoolResponse();

        ?>

例如,如果用error_reporting(0);替换error_reporting(E_ALL);会更好,因为否则将会禁用php错误。

删除此部分:

        <script>
          $('.button').click(
            function(
              <?php schoolResponse(); ?>
            );
          );
        </script>

但这是非常基本的例子。

答案 1 :(得分:0)

您应该使用jQuery / AJAX来执行此操作。

<script>
                  $('.button').click(
                    $.ajax({
                       url: 'yoururl.php',
                       data: $("form").serialize(), //Better to put an ID to  the form or something
                       success: function(data){
                          //DO something with your data
                     }

        })
                  );
                </script>

您应该检查其他功能以正确使用ajax请求。

在yoururl.php中,您应该执行类似

的操作
$school = $_POST['school'];
          function schoolResponse() {
            if ($_POST['school'] == 'none'){ 
              echo 'nothing';
            } else {
              echo 'something';
            }
          }