H5 切换界面返回传值

主要阐述下返回传值的知识,在做项目之中遇到不少坑和困惑,因此这里为大家总结以下几点:

1.html文件必不可少的,监听到点击切换事件(A界面);

<li class="mui-table-view-cell" id="cheziinfo">
        <a class="mui-navigate-right"><img src="images/aichename/car.png"/ style="width:25px; float: left;margin-right:10px ;">爱车名称 <span id="aichename"></span></a>
    </li>

2.点击事件tap事件

document.getElementById("cheziinfo").addEventListener('tap', function() {
              mui.openwindws({
              url:"editorname.html",
              id:"editorname",
              extras: {
                    nama: "datebase",
                    imei:123456,
                } //自定义扩展参数
              })
            });

3.接收B界面返回传过来的值

function getResult(r){
                document.getElementById("aichename").innerHTML = r; 
            }

此时A页面基本定义就这些,主要注意参数和返回传值过来接收的函数getResult();都跟简单的,继续看B界面;

4. B页面此时需要做的就是接收A界面传递过来的数据,显示到界面上,并且返回到A页面时,把值获取到通过evalJS返回传值到A界面

<input type="" name="" id="xiayibuss" value="" placeholder="输入修改的名称" />
<input type="" name="" id="shebeiimei" value="" placeholder="输入imei编号" />
//点击按钮
 <button id="xiayibu">确定修改</button>

获取A界面的代码如下:

var ws=null,wo=null,domready=false;
        function plusReady(){
            if(ws||!window.plus||!domready){
                return;
            }
            // 获取窗口对象
            ws=plus.webview.currentWebview();
            wo=ws.opener();
            var vText = ws.gpsname;
            var vTextimei = ws.imei;
            document.getElementById("xiayibuss").value = vText; 
            document.getElementById("shebeiimei").innerHTML = vTextimei;
        }
         if(window.plus){
            plusReady();
         }else{
            document.addEventListener("plusready",plusReady,false);
         }
         // 监听DOMContentLoaded事件
         document.addEventListener("DOMContentLoaded",function(){
            domready=true;
            plusReady();
         },false);

ok,此时获取到了A界面的数据,然后…
5.返回传递当前input输入的值到A界面

document.getElementById('xiayibu').addEventListener('tap',function(){
            var setname = document.getElementById("xiayibuss").value;
            var setimei = document.getElementById("xiayibuss").value;
            wo.evalJS("getResult('"+ setname  +"');");
            back();//关闭B页面

          });

此时,两个界面相互就可以传递值了,A界面值—–B界面——A界面,若能帮到你,请关注下或者收藏,本文为原创,严谨转载,谢谢… goodbay!

猜你喜欢

转载自blog.csdn.net/qq_37523448/article/details/79232045