单击提交按钮隐藏表单

时间:2014-05-03 16:04:43

标签: php html mysql

<?php
'<form method="post" action="postnotice.php");>
        <p> <label for="idCode">ID Code (required): </label>
            <input type="text" name="idCode" id="idCode"></p>
        <p> <input type="submit" value="Post Notice"></p>

    </form>'
?>

好吧,这是我的php形式的一部分 - 非常简单。对于我的第二种形式(postnotice.php):

<?php
    //Some other code containing the password..etc for the connection to the database.
    $conn = @mysqli_connect($sql_host,$sql_user,$sql_pass,$sql_db);
    if (!$conn) {
         echo "<font color='red'>Database connection failure</font><br>";
    }else{
         //Code to verify my form data/add it to the database.   
    }
?>

我想知道你们是否知道一个简单的方法 - 我仍然是一个很新的php - 我可以使用它来隐藏表单并用一个简单的文本“尝试连接到数据库”替换它直到表单从数据库中回来并进入下一页,我有其他代码来显示查询结果和验证“idCode”的有效性。甚至数据库连接失败。我觉得让用户坐在那里不确定他/她的按钮点击是否成功,同时它试图连接到数据库,或者等待超时时间。

提前感谢任何想法, 路加。

编辑:澄清我在这里的是一个PHP解决方案 - 没有使用ajax或javascript(我已经看到使用这些已经在线的方法,所以我试图寻找其他路线)

2 个答案:

答案 0 :(得分:1)

你需要做的是给form一个div然后只需通过ajax提交表单然后隐藏div并在从服务器获取数据后显示消息。

<div id = "form_div">


    '<form method="post" id = "form" action="postnotice.php";>
            <p> <label for="idCode">ID Code (required): </label>
                <input type="text" name="idCode" id="idCode"></p>
            <p> <input type="submit" value="Post Notice"></p>

        </form>'
    ?>
    </div>

<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
    <script>
      $(function () {
        $('form').on('submit', function (e) {
          $.ajax({
            type: 'post',
            url: 'postnotice.php',
            data: $('form').serialize(),
            success: function (data) {
             if(data == 'success'){

            echo "success message";
        //hide the div
       $('#form_div').hide(); //or  $('#form').hide();
              }
            }
          });
          e.preventDefault();
        });
      });
    </script>

<强> postnotice.php

    $idCode  = $_POST['idCode'];

    // then do whatever you want to do, for example if you want to insert it into db 

  if(saveSuccessfulIntoDb){


       echo 'success';

}

答案 1 :(得分:0)

尝试使用AJAX。这将允许您等待服务器的响应,您可以根据您的响应选择您想要做的事情。

http://www.w3schools.com/ajax/default.ASP

AJAX与jQuery: https://api.jquery.com/jQuery.ajax/