簡體   English   中英

Chrome中的AJAX下拉菜單(HTML選擇)

[英]AJAX Dropdowns (HTML Select) in Chrome

我有以下選擇選項代碼:

           <select name="startTime" id = "startTime" onchange = "javascript:timeChange();">

                    <c:choose>
                            <c:when test="${param.cid != null}">
                                    <option value="<c:out value="${timevalue}"/>" selected><c:out value="${time}" /></option>
                                    <option value="<c:out value="-"/>"><c:out value="Choose time"/></option>
                            </c:when>
                            <c:otherwise>
                                    <option value="<c:out value="-"/>" selected><c:out value="Choose time" /></option>
                            </c:otherwise>
                    </c:choose>
                    <option value="10:00:00" >10:00</option>
                    <option value="11:00:00" >11:00</option>
                    <option value="12:00:00" >12:00</option>
                    <option value="13:00:00" >13:00</option>
                    <option value="14:00:00" >14:00</option>
                    <option value="15:00:00" >15:00</option>
                    <option value="16:00:00" >16:00</option>
                    <option value="17:00:00" >17:00</option>
                    <option value="18:00:00" >18:00</option>
                    <option value="19:00:00" >19:00</option>
                    <option value="20:00:00" >20:00</option>
                    <option value="21:00:00" >21:00</option>
               </select>

並具有以下ajax代碼:

            $.ajax({
            url: "temporary_checking.jsp",
            type: "POST",
            data: data,
            async: true,
            timeout:6000,
            dataType: "html",
            success: function (data) {
                    data = data.trim();
                    var n = data.indexOf("ERROR",0);
                    if( n > -1 ){
                            if(data.indexOf("ERROR 2",0) >= 0 ){
                                    alert("Error to allocate time slot");
                                    return true;
                            }
                    }else{
                            window.location.reload(false);
                            if(getCookie('Times') != null || getCookie('Times') != undefined)
                            {
                                    deleteCookie('Times');
                            }
                            setCookie('reload',1,'');
                            setCookie('zerosecond',1,'');
                    }
            },
            error: function(XMLHttpRequest, textStatus, errorThrown){
                    document.getElementById('startTime').value = "-";
                    alert("Error to book time slot : " + textStatus + '\n ' + errorThrown);
                    return false; 
            }
        });

因此,問題在於無論何時它選擇一個選項(例如17:00),該值都將恢復為默認值,即“選擇時間”選項。 但是,在FireFox上沒有問題。 有什么辦法嗎? 提前致謝

如果調用函數“ window.location.reload(false);” 該頁面將立即重新加載,所有JS狀態都將丟失,並且此語句之后的代碼行將不會執行。 因此最好在重新加載前設置Cookie:

...

} else {
    if (getCookie('Times') != null || getCookie('Times') != undefined) {
        deleteCookie('Times');
    }
    setCookie('reload',1,'');
    setCookie('zerosecond',1,'');
    window.location.reload();
}
...

“ false”參數對我來說毫無意義,因為它是默認值: http : //www.w3schools.com/jsref/met_loc_reload.asp

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM