定义了timeStart,timeEnd两个全局变量,可在方法中赋值时只在方法内部起了作用,最后外部调用仍未undefined,请问哪里出现了错误,该怎样修改?
主要的代码如下:
<html>
<head>
</head>
<body>
<%
    
    def reportName = params.name;
def template = params.template;
    def dataModel = params.dataModel;%>
<div id="container"></div> <table>
<tr><td>
起始日期:<input type="text" name="startDate" id="startDate" autocomplete="off" size="30" value="" />
</td></tr>
<tr><td>
结束日期:<input type="text" name="endDate" id="endDate" autocomplete="off" size="30" value="" />
</td></tr>
<tr>
<td>
请选择报表的格式:
</td>
</tr>
</table>
<div id="cal1Container"></div>
<script type="text/javascript">
(function() {
var timeStart;
var timeEnd;
    var init = function() {
        cal1 = new YAHOO.widget.Calendar("cal1","cal1Container");
        cal1.selectEvent.subscribe(getDate, cal1, true);
        cal1.renderEvent.subscribe(setupListeners, cal1, true);
        Event.addListener(['startDate', 'endDate'], 'focus', showCal);
        Event.addListener(['startDate', 'endDate'], 'blur', hideCal);
        cal1.render();
hideCal();
    }
    var getDate = function() {
            var calDate = this.getSelectedDates()[0];
            calDate = (calDate.getMonth() + 1) + '/' + calDate.getDate() + '/' + calDate.getFullYear();
            cur_field.value = calDate;            
            over_cal = false;
    timeStart = document.getElementById("startDate").value;
    timeEnd = document.getElementById("endDate").value;
            alert(timeStart)//这里能够显示出正确的值
            hideCal();
    }    var showCal = function(ev) {
 
    }    var hideCal = function() {    }var sUrl = "/GEMmanager/script/run/reportMaster?startDate=" + timeStart + "&_format=HTML&_name=${reportName}&endDate=" + timeEnd + "&_file=${template}";//此url调用后timeStart和timeEnd均为Undefined,上面的全局变量只在方法内起了作用...</script>
<form>
<input type="hidden" name="type" value="form" />
<span id="btn"></span>
</form>
</body>
</html>