zoukankan      html  css  js  c++  java
  • Android中获取网页表单中的数据

    MainActivity如下:

    package cn.testjavascript;
    import java.util.StringTokenizer;
    import android.os.Bundle;
    import android.webkit.WebView;
    import android.app.Activity;
    /**
     * Demo描述:
     * 在Android中获取网页里表单中的数据
     */
    public class MainActivity extends Activity {
       private WebView mWebView;		
       private String date =null;
       private String email = null;
       private String username = null;
       private String sex = null;
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.main);
    		init();
    	}
    	private void init(){
    		mWebView=(WebView) findViewById(R.id.webView);
    		initWebViewSettings();
    		mWebView.loadUrl("file:///android_asset/form.html");
    		//注意addJavascriptInterface方法中第二参数
    		//它表示我们的java对象javaClass的别名.
    		//这样Javascript就可以通过该别名来调用Android中的方法
    		//即Javascript代码中的:window.testform.send(date+"|"+email+"|"+name+"|"+sex);
    		//send是方法名
    		//testform是别名
    		mWebView.addJavascriptInterface(new Object() {
    			public void send(String userInfo) {
    				StringTokenizer userInfoStringTokenizer = new StringTokenizer(userInfo, "|");
    				date = userInfoStringTokenizer.nextToken();
    				email = userInfoStringTokenizer.nextToken();
    				username = userInfoStringTokenizer.nextToken();
    				sex = userInfoStringTokenizer.nextToken();
    				System.out.println("userInfoStringTokenizer="+userInfoStringTokenizer.toString());
    				System.out.println("date=" + date);
    				System.out.println("email=" + email);
    				System.out.println("username=" + username);
    				System.out.println("sex=" + sex);
    				};
    		}, "testform");
    
    		
    	}
    	private void initWebViewSettings(){
    		mWebView.setVerticalScrollBarEnabled(false);
    		mWebView.setHorizontalScrollBarEnabled(false);
    		mWebView.getSettings().setJavaScriptEnabled(true);
    		mWebView.getSettings().setSupportZoom(true);
    		mWebView.getSettings().setDomStorageEnabled(true);
    		mWebView.getSettings().setPluginsEnabled(true);
    		mWebView.requestFocus();
    		mWebView.getSettings().setUseWideViewPort(true);
    		mWebView.getSettings().setLoadWithOverviewMode(true);
    		mWebView.getSettings().setSupportZoom(true);
    		mWebView.getSettings().setBuiltInZoomControls(true);
    	}
    	
    }
    

    main.xml如下:

    <RelativeLayout 
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        >
    
        <WebView
            android:id="@+id/webView"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_centerInParent="true"
         />
    
    </RelativeLayout>


     

    form.html如下:

    <body>
    		<form action="" method="post">
    		时间:<br>
    		<select id="shijian" name="date">
    		    <option value="2011">2011</option>
    		    <option value="2012">2012</option>
    		    <option value="2013">2013</option>
    		    <option value="2014">2014</option>
    		    <option value="2015">2015</option>
    		</select><br>
    			邮箱:
    			<input id="email" type="text" name="emailID" />
    			<br>
    			昵称:
    			<input id="name" type="text" name="username" />
    			<br>
    			性别:<br>
    			<input id="men" type="radio" name="sex" value="men"/>男
    		    <input id="women" type="radio" name="sex" value="women"/>女
    		    <br>
    		    <input type="submit" value="注册" onclick="f()"/>
    		    <input type="button" value="取消" />
    		</form>
    	</body>
    	<script type="text/JavaScript" language="javascript">
    	     function f(){
    	        var email = document.getElementById('email').value;
    	        var name = document.getElementById('name').value;
    	        var date = document.getElementById('shijian').value;
    	        if(document.getElementById('men').checked && !document.getElementById('women').checked){
    	        var sex = document.getElementById('men').value;
    	        }else if(!document.getElementById('men').checked && document.getElementById('women').checked){
    	        var sex = document.getElementById('women').value;
    	        }
    	        window.testform.send(date+"|"+email+"|"+name+"|"+sex);	       
             }     
    		</script>
    


     

  • 相关阅读:
    【 SSH 配置参考】
    【 SSH 实例】使用ssh开发的简单项目
    【 Hibernate 】Hibernate的session更新和删除失败问题
    【 SSH 整合】Spring、Struts、Hibernate基本整合
    Tower是个不错的项目管理开放平台
    随便写写,四年多了第一次在博客园上发表
    asp.net获取服务器绝对路径和相对路径
    342. 4的幂
    283. 移动零
    268. 缺失数字
  • 原文地址:https://www.cnblogs.com/snake-hand/p/3153212.html
Copyright © 2011-2022 走看看