提交没有刷新或jquery的html表单

时间:2015-05-30 10:40:25

标签: php jquery html forms html-form

我正在创建一个包含html表单的网页和一些用于处理表单数据的php代码。我想要做的是使它在按下每个按钮后不刷新页面并将数据保存到文件中?我该怎么做呢?

以下是代码:

<html>
    <head>
    </head>

    <body>

        <form method="post" action="out.php">

            <input type="submit" name="foo" value="A" />
            <input type="submit" name="foo" value="B" />
            <input type="submit" name="foo" value="C" />
            <input type="submit" name="foo" value="D" />
            <input type="submit" name="foo" value="E" />
            <input type="submit" name="foo" value="F" />
            <input type="submit" name="foo" value="G" />

        </form>

        <?php
        $name = $_POST['foo'];
        $fp = fopen("formdata.txt", "w");
        fwrite($fp, "");
        $savestring = $name;
        fwrite($fp, $savestring);
        fclose($fp);
        ?>

    </body>
</html>

3 个答案:

答案 0 :(得分:2)

如果您完全避免使用JavaScript,则可以定位隐藏的iframe。

CSS:

iframe.hidden{ display:none }

HTML:

<iframe name="iframe" width="0" height="0" tabindex="-1" class="hidden"></iframe>
<form method="post" action="out.php" target="iframe">...

但是,您最好使用JavaScript来确保数据已正确提交。如果用户的会话已过期怎么办?如果他们的网络连接不稳定怎么办?他们如何知道验证的数据好吗?

答案 1 :(得分:0)

要实现这一点,你必须使用某种javascript ajax调用。 PHP工作在服务器端,因此PHP代码只在服务器上处理。这就是javascript的用武之地.Javascirpt在客户端浏览器上运行。如果你不想使用jQuery,你可以使用普通的javascript ajax即xmlhttprequests,但是你必须担心各种浏览器支持和所有有趣的东西。

如果您使用第三方JavaScript库,例如jQuery,负责处理所有无聊的事情,比如浏览器支持。在做ajax时,我强烈建议使用某种第三方库,jQuery可能是最受欢迎的。

答案 2 :(得分:0)

  

用户Jquery为此目的简单调用   下载任何jquery-1.11.3.js上或下版本

        <form method="post" action="">

        <input type="submit" id='fooA' name="foo" value="A" />
        <input type="submit" id= 'fooB' name="foo" value="B" />

    </form>


   <script>
    $('#fooA').click(function(){

     var fooA  =  this.val();

         $.ajax({
           type : 'post',
           url  : 'out.php',
           data : {'fooA':fooA},
           success: function(data){

           }
        });
  });
   </script>
  

在out.php中获取foo值

 <?php
    $name = $_POST['fooA'];
    $fp = fopen("formdata.txt", "w");
    fwrite($fp, "");
    $savestring = $name;
    fwrite($fp, $savestring);
    fclose($fp);
    ?>
  

在数据中你必须发送变量名称,然后进入php文件...