PHP如何在提交后不刷新输入值

时间:2012-12-02 12:44:19

标签: php html forms

我有问题,当我在联系表单中按下提交按钮时所有输入值都刷新,如果所有字段都填写正确,那就好了,但是如果有一些警告,用户必须看到previaus值,但都清除了。我的Javascript技能很低,maye是用php和html解决这个问题的解决方案吗?

4 个答案:

答案 0 :(得分:1)

更简单的方法是使用html5存储。在onkeyup事件上存储值,如果提交成功则销毁

示例

 <input id="title"   type="text" value=""  name="article_name">

脚本

检查html5的支持

 function supports_html5_storage() {
          try {
            return 'localStorage' in window && window['localStorage'] !== null;
          } catch (e) {
            return false;
          }
        }

存储脚本

  if(supports_html5_storage()){

        $("#title").keyup(function(){

            var articel_title =  $("#title").val();
             localStorage.setItem("articel_title",articel_title);
             localStorage.getItem("articel_title");
        });

要清除存储空间,如果表单成功提交,则可以解雇此存储

 <script type=text/javascript>
          localStorage.removeItem("articel_title");

     </script>

您还可以对更改或键盘事件进行ajax调用并将值存储到数据库,这样如果浏览器不支持html5,它仍然可以工作,但会导致服务器上的负载更多

答案 1 :(得分:1)

将值返回给客户:

<input type="text" name="val1" value="<?echo $_POST['val1']?>" />

答案 2 :(得分:1)

将您的值发布到页面中的iframe,如果条目正确,则重定向到另一个页面。

因此,如果条目错误,您将不必做任何事情

答案 3 :(得分:0)