HTML传值

9 篇文章 0 订阅
7 篇文章 0 订阅

框架:easyui、ThinkPHP

主界面:
群组列表
功能主要是点击主界面的“查看”功能,
然后进入查看页面,里面能浏览到属于这个“群组”的成员。

点击学生组的“查看”功能后,进入用户列表主界面(member):
显示用户列表的方法是Controller里的memList
用户列表

思路是:点击“查看”后,将群组的id(gid) POST去Controller,然后以gid来查属于这个gid的用户。
问题: Controller里的memList一直获取不到gid,使用户列表一直显示不到对应的用户。
结果: 发现原来gid一直有POST的,但是POST了去用户列表的主界面(member),而显示用户列表的方法memList并没获取到gid,然后不断寻找方法。

尝试: 直接POST给memList:
$.post(memListUrl+'?gid='+gid}
这里我是在点击“查看”的方法里加的,跳转到用户列表的时候一并POST过去。
查看后台,的确memList的方法是获取到gid了,但用户列表依然是没法显示出来,查看后台,发现了一个奇怪的现象:
memList.html?gid=2; 这里看似是获取到gid了。
memList.html; 但其实这里才是最终显示用户列表的方法。

结论: 发现虽然我是从主界面跳转到用户列表界面的时候,POST gid过去,但只是用户列表的主页面获取到了,显示用户列表的memList方法没获取到。最后只能使用其他方法了。

解决:
既然是主页面获取到了,那就在主页面将gid做一个变量输出,用ThinkPHP的方法:
$data['name'] = 'ThinkPHP';
$this->assign('data',$data);

代码:
MemberController:

public function Member(){
       $gid = $_GET['gid'];
       $this->assign('gid',$gid);
       $this->display();
 }

因为主页面能获取到gid,直接在这里做个变量输出

显示用户列表的方法:
member.html:

<script type="text/javascript">
    var MemUrl="{:U('Member/memList')}";
    var gid = "{$gid['gid']}"
</script>

<script type="text/javascript">
$(function () {
        $('#studentMemDatagrid').datagrid({
            title:'用户列表',
            url:MemUrl+'?gid='+gid,
            fitColumns:true,
            rownumbers:true,
            pageSize:15,
            pageNumber:1,
            pageList:[2,5,10,15,20,25,30,40,50],
            columns:[[
                {field:'id',title:'id',checkbox:true},
                {field:'gid',title:'gid',hidden:true},
                {field:'account',title:'用户名'},
                {field:'name',title:'姓名'},
                {field:'gname',title:'群组'},
            ]],
            pagination:true,
        })
    });
<script>

var gid = "{$gid['gid']}"这里就是获取主页面Controller里的变量。

url:MemUrl+'?gid='+gid,
这里就是将变量经URL的方式POST给MemberController里的memList。

最终结果:
查看后台后,发现也是成功post给memList了!
memList.html?gid=2;
memList.html?gid=2;
跟第一次的对比下:
memList.html?gid=2;
memList.html;

第一次的memList.html?gid=2; 看似的确是POST过去了,但其实最终显示用户列表信息的是下面的那个 memList.html;
我的最终结果,就是下面的那个memList.html; 也获取到了gid!
这个才能显示对应的用户列表.
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Android 中,可以通过 WebView 来显示 HTML 页面。要在 HTML 页面和 Android 应用程序之间,可以使用 JavaScript 和 Android 的 WebView 提供的接口。 下面是一个简单的例子,演示了如何在 HTML 页面和 Android 应用程序之间: 在 HTML 页面中,可以使用 JavaScript 来调用 Android 应用程序中的方法。例如,下面的代码演示了如何调用 Android 应用程序中的 showToast 方法: ```html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>HTML 给 Android</title> <script> function showToast() { Android.showToast("Hello from HTML!"); } </script> </head> <body> <button onclick="showToast()">点击这里</button> </body> </html> ``` 在 Android 应用程序中,需要创建一个 WebView,并设置一个 WebChromeClient 和一个 WebViewClient。然后,可以在 Java 代码中定义一个 showToast 方法,并将其注入到 WebView 中,以便在 HTML 页面中调用。 ```java import android.os.Bundle; import android.webkit.WebChromeClient; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.Toast; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { private WebView mWebView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mWebView = findViewById(R.id.webview); mWebView.getSettings().setJavaScriptEnabled(true); mWebView.setWebChromeClient(new WebChromeClient()); mWebView.setWebViewClient(new WebViewClient()); mWebView.addJavascriptInterface(new WebAppInterface(), "AndroidInterface"); mWebView.loadUrl("file:///android_asset/index.html"); } public void showToast(String message) { Toast.makeText(this, message, Toast.LENGTH_SHORT).show(); } private class WebAppInterface { @JavascriptInterface public void showToast(String message) { MainActivity.this.showToast(message); } } } ``` 注意,为了保证安全性,需要在注入方法上使用 @JavascriptInterface 注解,并在 AndroidManifest.xml 文件中添加以下代码: ```xml <uses-permission android:name="android.permission.INTERNET" /> ``` 这样,在 HTML 页面中调用 Android.showToast("Hello from HTML!") 方法时,就会弹出一个 Toast,显示 "Hello from HTML!"。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值