html中提交表单并实现不跳转页面处理返回值

    <html>
        <head>
            <script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.min.js"></script>
            <!-- 处理iframe回调的代码块 -->
            <script type="text/javascript">
                var handlerFlag = 0;  

                function setOnloadCallBask(obj, event, handler) {
                    //for most explores
                    if (null != obj && null != obj.addEventListener) {
                        obj.addEventListener(event, handler, false);
                    }
                    //for IE
                    else if (null != obj && null != obj.attachEvent) {
                        obj.attachEvent(‘on‘+event, handler);
                    }
                    //not support
                    else {
                        //选择dom元素错误
                        throw new Error(‘不支持该dom元素‘);
                    }
                }
                /*
                *call back.
                */
                function ActionHandler()  {
                     //alert("call");
                     //文档加载或刷新时也会调用,因此需要通过标志位控制,提交时将标志位置为1,在这里处理之后修改标志位为0
                    if(0 != handlerFlag)  {
                        //do action
                        alert("123123");
                        var value = document.getElementById("ifActionResult").contentWindow.document.body.innerHTML;
                                            if(null!=value)  {
                                                 var obj = eval("("+value+")");
                                                 if(obj.result=="ok")  {
                                                    top.document.location.href="resource.shtml";
                                                 }
                                                 else {
                                                    window.parent.doNotice(obj.message);
                                                 }
                                            }
                                            //update flag.
                        handlerFlag = 0;
                    }
                }     

                function sub()  {
                    handlerFlag = 1;
                }
            </script>
            <!-- 处理其他功能的代码块 -->
            <script type="text/javascript">
                $(document).ready(function()  {
                    //注意这里最好在文档加载完成的时候再获取元素,否则可能获取到的一直是null
                    setOnloadCallBask(document.getElementById("ifActionResult"),‘load‘,ActionHandler);
                });
            </script>
        </head>
        <body>
            <h1 id="myHeader">这是标题</h1>
            <p>点击标题,会提示出它的值。</p>
            <iframe id="ifActionResult" name="ifTmp" width="1px" height="1px" style="display: none;"></iframe>
            <form action="" target="ifTmp">
               <input type="submit" onClick="sub();" value="测试"/>
            </form>
        </body>
    </html>  

其实我要找的是前端提交表单后,php怎么通过输入的js来调用原页面中的js函数,然后无意就看到这个,之前也是有遇到额,顺便收藏下。

原:http://blog.csdn.net/smilefyx/article/details/49332433

时间: 2024-11-08 18:58:26

html中提交表单并实现不跳转页面处理返回值的相关文章

利用socket模拟http的混合表单上传(在一个请求中提交表单并上传多个文件)

在很多企业级应用中,我们都没法直接通过开发语言sdk包封装的http工具来模拟http复合表单(multipart/form-data),特别是在跨语言跨平台的编程过程中,其实实现方案并不复杂,只要你了解了http协议中复合表单的报文结构就很简单了: httpheader ------时间戳------ 表单参数1 ------时间戳------ 表单参数2 ------时间戳------ 文件1的描述+二进制信息 ------时间戳------ 文件2的描述+二进制信息 下面我们进一步以一段c

php中提交表单数据的POST()方法和GET()方法

提交获取表单数据是表单应用中最常用的操作,经常需要PHP后台从前台页面中获取用户在前台表单页面中提交的各种数据.表单数据传递的方式有以下的两种方法,一种为POST()方法,另外一种为GET()方法.具体采用哪种获取数据的方法是由<form>表单的 method 属性所指定的,下面讲解这两种方法在 Web 表单中的具体应用.大理石平台厂家 使用POST()方法提交表单 在使用POST()方法时,只需要将<form>表单中的属性 method 设置成POST即可. POST()方法不依

submit提交表单后,不刷新当前页面

<form method="get" target="test" action="a.html"> <input type=""text /> <input type="submit" /> </form> <iframe name="test" style="display:none"></ifram

各种默认回车提交表单

总结: 1.如果form里面只有一个input type=text,那么无论有没有submit按钮,在input中回车都会提交表单.如果不想回车提交,需要再加一个input type=text,然后设置display:none. 2.如果form里面多于一个input type=text,那么必须有一个submit按钮才可以回车提交表单. 按钮可以是input也可以是button,他们应设置type=submit.如果只写button而不写type,那么IE下type=button,FF下则是t

JavaScript中的表单编程

表单编程 1获取表单相关信息 1.什么是表单元素 1.什么是表单元素 在H TML中表单就是指form标签,它的作用是将用户输入或选择的数据提交给指定的服务器 2.如何获取表单元素 <form id="form1" name="form1"></form><script>//方法一:let fm = document.getElementbyId("fm");//方法二:let fm = document.fo

js阻止提交表单(post)

js阻止提交表单(post) 在注册页面,我们经常要用到页面验证,验证到不符合要求的数据就阻止提交到服务器,如下 <script type="text/javascript"> function Check() { var phoneNumber = $.trim($("#PhoneNumber").val()); var isMobile=/^1?(3|5|7|8)\d{9}$/; if (isMobile.test(phoneNumber) == f

在javascript中关于submit和button提交表单区别

原文:在javascript中关于submit和button提交表单区别 原文来自:http://www.jb51.net/article/42236.htm submit是button的一个特例,也是button的一种,它把提交这个动作自动集成了,submit和button,二者都以按钮的形式展现,看起来都是按钮,所不同的是type属性和处发响应的事件上. 1. 如果表单在点击提交按钮后需要用JS进行处理(包括输入验证)后再提交的话,通常都必须把submit改成button,即取消其自动提交的

Struts2中防止表单重复提交

一.防止表单的重复提交 1.在表单中加入<s:token/>标签 2.在动作类中加入token的拦截器<interceptor-ref name="defaultStack"></interceptor-ref> <interceptor-ref name="token"></interceptor-ref> 3.增加一个名称为invalid.token的结果视图<result name="

Java中避免表单重复提交

表单的重复提交: 没有完整的进行一次,先请求表单页面->再提交表单过程而完成数据提交 造成的根本原因: 没有完整的进行一次,先请求表单页面->再提交表单过程. 造成重复提交的现象: 由于服务器缓慢或网络延迟的原因,重复点击提交按钮. 已经提交成功,刷新成功页面(forward)(请求转发). 已经提交成功,通过回退,再次点击提交按钮 注意:回退后,刷新表单页面,重新再提交,这时,不是重复提交,而是发送新的请求,在Firefox下,重复提交到同一个地址的操作无效. 案例: 1 @WebServl