<script type="text/javascript">
var upload1;
var selectitem;//问题所在
function modifyitem(){
selectitem=document.getElementById("paths").value;
alert(selectitem);
}
window.onload=function() {
selectitem=document.getElementById("paths").value;
upload1 = new SWFUpload({
// Backend Settings
upload_url: "../servlet/AddDocServlet", // Relative to the SWF file (or you can use absolute paths)
post_params: {"SESSIONID" : "<%=session.getId()%>","SELECTITEM" : selectitem},//传递变量selectitem
.............................
} </script>
<form name="uploadform" method="post" action="servlet/AddDocServlet"
ENCTYPE="multipart/form-data">
上传位置:
<select id="paths" name="paths" onchange="modifyitem()">
<%=optionString %>
</select>
</form>
问题就在selectitem这个变量,先是在window.onload给selectitem付了一个初值,之后在下拉框给了一个onchange函数,改变selectitem的值,可问题是,alert先是selectitem是改变了,但是传到后台,selectitem的值始终不变,不知道要怎么改啊?
大家帮帮忙了。
SWFUpload是否提供了修改参数的方法?
var c;//"SELECTITEM"
function aa(){alert(a)}
function bb(){c=a;alert(c)}
bb();//已经把selectitem得值付给了"SELECTITEM"
aa();
a=40;
aa();//selectitem在每一次的change中变化,
alert(c);//"SELECTITEM"不再变化
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ include file="/commons/taglibs.jsp" %>
<%@page import="com.star21.mediaResource.*" %>
<html>
<head>
<%@ include file="/commons/meta.jsp" %>
<link href="${ctx}/widgets/extremecomponents/extremecomponents.css" type="text/css" rel="stylesheet">
<title>上传图片</title>
<!-- 以下为JS包含路径 -->
<script type="text/javascript">
//保存图片信息
function save(){
if(document.getElementById("chntitle").value == ""){
alert("中文标题不能为空!");
return false;
}
if( document.getElementById("chntitle").value.length > 15 ){
alert( "中文标题不能超过15位!" );
return false;
}
document.fileForm.action = "${ctx}/MediaManager.do?method=fileSave";
doOnload(true);
document.fileForm.submit();
}
//去空格
function elementTrim(element){
if(element){
element.value = element.value.replace( /^\s*/, "");
element.value = element.value.replace( /\s*$/, "");
}
}
</script>
</head>
<body align="center">
<br>
<%@ include file="/commons/messages.jsp" %>
<%@ include file="/commons/std-tag/shortForContext/pages/context.jsp" %>
<form action="" name="fileForm" method="post" enctype="multipart/form-data">
<table align="center" class="table_width_form" border="0" cellpadding="0" cellspacing="0">
<tr>
<td class="td_title_l"></td>
<td class="td_title">本地上传</td>
<td class="td_title_r"></td>
</tr>
</table>
<TABLE align="center" class="table_width_form" border="1" cellpadding="0" cellspacing="0" style="border-collapse:collapse;" bordercolor="#9999FF">
<tr>
<td class="td04" align="left" > 中文名称: </td>
<td colspan="3"> <input type="text" id="chntitle" name="chntitle" value="" maxlength="500" onblur="elementTrim(this)"/><span style="color:red">*</span> </td>
</tr>
<tr>
<td class="td04" align="left" > 英文名称: </td>
<td colspan="3"> <input type="text" name="engtitle" value="" maxlength="500"/> </td>
</tr>
<tr>
<td class="td04" align="left" > 关键字: </td>
<td colspan="3"> <input type="text" name="keywords" value="" maxlength="500"/><span style="color:red">关键字请用逗号分隔</span> </td>
</tr>
<tr>
<td class="td04" align="left" > 文件类型: </td>
<td colspan="3"> <select name="mediaformtypeid" id="mediaformtypeid" style="width=150px">
<c:forEach var="obj" items="${formTypeList}">
<option value="<c:out value='${obj.mft_id}'/>"
<c:if test="${obj.mft_id == default}"><c:out value="selected"/></c:if>>
<c:out value='${obj.name}' /></option>
</c:forEach>
</select>
</td>
</tr>
</table>
<TABLE align="center" class="table_width_form" border="1" cellpadding="0" cellspacing="0" style="border-collapse:collapse;" bordercolor="#9999FF">
<tr >
<td class="td06" colspan="4" align="center">
<input type="button" value="下一步" onclick="save()" class="button_ok"/>
</td>
</tr>
</table>
</form>
<script type="text/javascript" src="${ctx}/js/validator.jsp"></script>
<%@ include file="/commons/loading.jsp" %>
<%@ include file="/commons/footer.jsp" %>
</body>
</html>
这是我以前做的一个上传页面,可能对你会有所帮助!
onChage时selectitem会被覆盖新值,但是你并没有在这个onchang方法中执行'upload1 = new SWFUpload('.... 这个操作呀?个人意见哈 ~ 不知我对你目前遇到的问题在理解上是不是有偏差
谢谢,不过光界面对我没用啊,我想用SWFUpload组件的,这样效果比较好,但现在碰到个问题...