[ajax] (將code寫活的)要如何利用 javascript 傳值到(POST) jsp
<html>
<%@page contentType="text/html" pageEncoding="UTF-8"%>.
<head>
<title>title</title>
<script language="JavaScript">
var xmlDom = new ActiveXObject("MSXML2.DOMDocument");
xmlDom.async = "false";//顯示URL資訊
// 載入XML文件的字串
xmlDom.load("http://127.0.0.1:6238/test.xml");
var objNode = xmlDom.documentElement.childNodes;
// 顯示所有XML節點
var num =objNode.length;
document.write(num+"<br>");
var setValue = new Array(num);
var setName = new Array(num);
for ( var i=0; i < num; i++ ) {//抓取XML並抓出 tag value
setValue[i] = objNode.item(i).text;
document.write(setValue[i]+"<br>");
setName[i] = objNode.item(i).nodeName;
document.write(setName+"<br>");
}
// 新增選項
var showTilte = new ActiveXObject("MSXML2.DOMDocument");
function addOption(){//從XML中value加入在"下拉式選單選項item"
for(var j = 0;j<objNode.length;j++){
var strName = setName[j].valueOf();//將XML中Value放入Array
var strValue= setValue[j].valueOf();//將XML中tag放入Array
var objSelect = document.myForm.setTitle;
var objOption = new Option(strValue,strName);
objSelect.add(objOption, -1);//加入在"下拉式選單選項item"
}
}
// 顯示選項(item)資訊
function showOption(objForm){
var objSelect = objForm.setTitle;
var name = objSelect.options[objSelect.selectedIndex].text;//
var value = objSelect.options[objSelect.selectedIndex].value;
//document.write(name.toLocaleString());
//========================================================================================
var url, qs;
xmlhttp = createXMLHttp();
if (xmlhttp) {
url = "create.jsp";
qs = "setTitle=" +name.toString() ;
xmlhttp.onreadystatechange = showMsg;
xmlhttp.open("POST", url, true); // 非同步傳輸 + POST
xmlhttp.setRequestHeader("Content-Type",
"application/x-www-form-urlencoded");
//xmlhttp.send(qs); //查詢字串
xmlhttp.send(qs); //查詢字串
}
}
function createXMLHttp() {
var xhr;
try {
xhr = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e1) {
try {
xhr = new XMLHttpRequest();
} catch (e2) {
xhr = null;
}
}
}
return xhr;
}
function showMsg() {
var strMsg;
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
strMsg = "<hr>已成功接收,伺服器的回傳結果是:<p>" +
xmlhttp.responseText;
document.getElementById("disp").innerHTML = strMsg;
}
}
</script>
</head>
<body>
<form id="myForm" name="myForm" action="index.jsp">
<select id="setTitle" size="6" name="setTitle">
</select><br>
<input type="button" onclick="addOption();" value="新增"><br>
<input type="button" onclick="showOption(this.form)" value="顯示
"><br>
</form>
</body>
</html>
這是用javascript+html寫出來的
先讀入XML檔案,利用AJAX XML DOC 分析XML節點
從XML中tag,value存放到array
透過array一一讀出加入到item選項
可是要從item挑選出來 值 卻無法傳送到 (POST) JSP 。
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"" rel="nofollow">http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<%
String getTitle = request.getParameter("setTitle");
out.println(getTitle);
%>
<h1>OK</h1>
</body>
</html>
這樣寫出來還是不能run
不知哪裡出錯
請大家指教
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.137.250.29
Ajax 近期熱門文章
PTT數位生活區 即時熱門文章