超鏈接實現post方式提交


思路:如果想要超鏈接實現post方式提交,必須借助表單。下面得兩種方式,一種是借助顯示的form表單,一種是借助隱式的form表單
方式一:將超鏈接放到一個form表單中,或者超鏈接本身就在一個form表單中,這種情況下,我們將需要提交的參數用隱藏域的方式提交過去。
分兩種情況:
A.超鏈接的提交地址和form表單的提交地址是一致的:

<form name='form1' action='MyJsp2.jsp' method='post'>
        <input type='hidden' name='page' value='1'/>
        <input type='hidden' name='hiddenA' value='A'/>
        <a href='javascript:document.form1.submit();'>首頁</font></a>
                ...
</form>

B. 超鏈接的提交地址和form表單的提交地址不一致的:


<script type="text/javascript" src="js/jquery-1.8.0.min.js"></script>
<script type="text/javascript">
    function post(path){
        $("#form1").attr("action",path);
        $("#form1").submit();
    }
</script>
<form name='form1' action='MyJsp2.jsp' method='post' id="form1">
        <input type='hidden' name='page' value='1'/>
        <input type='hidden' name='hiddenA' value='A'/>
        <a href="javascript:post('index.jsp')">首頁</a>
                ...
</form>


在接收頁面,直接通過java方式獲取即可


String p = request.getParameter("page");
System.out.println(p);    //1

方式二:使用js代碼實現隱藏form表單的實現
index.jsp頁面如下:


/**
* 功能:post方式提交
* 參數列表:url:提交的地址;params:參數列表
*/
<script type="text/javascript">
    function post(url, params) {
    var temp = document.createElement("form"); //創建form表單
    temp.action = url;
    temp.method = "post";
    temp.style.display = "none";//表單樣式為隱藏
    for (var item in params) {//初始化表單內部的控件
       //根據實際情況創建不同的標簽元素
        var opt =document.createElement("input");  //添加input標簽
        opt.type="text";   //類型為text
        opt.id = item;      //設置id屬性
        opt.name = item;    //設置name屬性
        opt.value = params[item];   //設置value屬性
        temp.appendChild(opt);
    }
    
    document.body.appendChild(temp);
    temp.submit();
    return temp;
}
</script>
<body>
    <a href="javascript:post('MyJsp.jsp',{id:1,name:'aaa'})">超鏈接實現post提交</a>
</body>

在MyJsp.jsp頁面,直接采用java方式接收即可:


System.out.println(request.getParameter("id"));   //1
System.out.println(request.getParameter("name"));  //aaa


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM