日期:2014-05-16  浏览次数:20908 次

Ajax异步url传参问题

?

今天发现的一个关于ajax url传值时,获取下拉列表选项的value时容易碰到的问题:

?

?

?

/**异步提交**/
var xmlHttp;
function selectListResult(){
	var f=document.selectForm;
	var branch=f.selectbranch.value;
	var depart=f.selectdepart.value;
	var name=f.UserName.value;
	var time=f.Time.value;  	
	var url=${basePath}"findScheduleByManyAction.action?BId="+branch+"&DId="+depart+"&UserName="+name+"&Time="+time;
	alert(url);
	xmlHttp=createXMLHttpRequest();
	/*设置回调函数*/
	xmlHttp.onreadystatechange=processRequest;
	/**打开连接*/
	xmlHttp.open("GET",url,true);
	/**发送请求*/
	xmlHttp.send(null);
}

?

?

?

这是jsp页面,动态获取值时,<option value="${branchid}"> 和<option value="branchid">在运行时都可以 取出值,但是Ajax获取value="${branchid}"的值是一个int数值,Ajax获取value="branchid"的值时却是 "branchid" 这个字符串,所以用到Ajax时需要用到EL表达式取值。

?

?

<td width="261" height="37">选择机构:
            <select name="selectbranch">
            <option value="0">=不限=</option>
            <s:iterator value="branchList">
             <option value="${branchid}"><s:property value="branchshortname"/></option>
            </s:iterator>
            </select>
          </td>

<td width="261" height="37">选择机构:
            <select name="selectbranch">
            <option value="0">=不限=</option>
            <s:iterator value="branchList">
             <option value="branchid"><s:property value="branchshortname"/></option>
            </s:iterator>
            </select>
          </td>

?

?

?

?

?

?