簡體   English   中英

取消按鈕在Firefox和Chrome中的行為有所不同

[英]Cancel button behaves differently in Firefox and in Chrome

注意:幾個小時后,我也在Javaranch中發布了這個問題。 相應的鏈接是http://www.coderanch.com/t/629456/JSP/java/Cancel-button-behaves-differently-Chrome 我還沒有收到回復。 我將其張貼在這里,看看是否能得到一兩個建議。 另外,我在Struts和JSP方面還是一個初學者,所以請告知我是否應該提供更多詳細信息。

問題是我的網頁上的“取消”按鈕在chrome瀏覽器和Firefox瀏覽器中的行為不同。

我當前的URL是context path / importEmployee.do?method = load。

在當前頁面中,我上傳了一個CSV文件。 該頁面有兩個按鈕-確定和取消,而這些按鈕正是我遇到的麻煩(稍后我會介紹該部分)。 相關的JSP部分如下。

 <html:form action="importEmployee?method=save" method="POST" styleId="importEmployee" enctype="multipart/form-data"> ....... some headers and title bar and stuff... and then as follows. <div class="contentSection"> <table border="0" class="formTable"> <html:hidden property = "selectedSet" /> <tr> <td class="formLabel"><label for="file">Download File:</label> </td> <td> <span> <a class="buttonStyle" rel="nofollow">Download Sample CSV</a> </span> </td> <tr> <td class="spacerCell"> </td> </tr> <tr> <td class="formLabel"><label for="file">CSV File:</label></td> <td><html:file property="importFile" styleId="importFile" size="60" maxlength="120" /></td> </tr> <tr> <td class="spacerCell"> </td> </tr> </table> </div> <table border="0" class="footerBar"> <tr> <td id="footerLeft"> <html:submit value=" OK " title=" OK " styleClass="button"> </html:submit> <span> <a class="buttonStyle" href="<%=request.getContextPath()%>/employees.do?method=load"> Cancel </a> </span> </td> <td id="footerRight" class="pagination"> </td> </tr> </table> 

上傳CSV文件並單擊“確定”后,將調用適當的操作類方法,並且我的url更改為-context path / importEmployee.do?method = save

該頁面基本上包含導入統計信息,未處理記錄的錯誤消息等。 該頁面還具有確定和取消按鈕。 相應的JSP部分如下。

 <html:form action="importEmployee?method=save" method="POST" styleId="importEmployee" enctype="multipart/form-data"> <table border="0" > <tr> <td id="leftEdge"><img src="<%= request.getContextPath()%>/images/new/edge_left.gif" width="30" 

height =“ 321” alt =“” />

  ..... some processing and then... <table border="0" class="footerBar"> <tr> <td id="footerLeft"> <span> <a class="buttonStyle" href="<%=request.getContextPath()%>/employees.do?method=load"> OK </a> </span> <input name="cancel" id="cancel" type="submit" class="button" value="Cancel" onclick="goBack(); return false;" /> </td> <td id="footerRight" class="pagination"> </td> </tr> </table> 

因此,如果單擊第二頁中的“取消”(上下文路徑/importEmployee.do?method=save),則會返回到第一個URL頁面,即上下文路徑/importEmployee.do?method=load。 但是此部分在Firefox和Chrome瀏覽器中的行為有所不同。 在Chrome中,如果我在第二頁中單擊“取消”,則仍然可以在第一頁中看到上載的文件名(第一個JSP中的隱藏屬性是文件名)。 如果單擊“確定”,則可以再次進行處理,就像在第一頁上單擊“確定”一樣。 但是,當我在Firefox瀏覽器中運行應用程序時,如果在第二頁中單擊“取消”,則上載的文件名在第一頁中顯示“未選擇文件”。 因此,要再次導入員工,我需要再次上傳新的/相同的CSV文件。

即使我在Chrome中運行應用程序,我也不想在第二頁中單擊“取消”時在第一頁中顯示該文件。 是的,我要求文件名是隱藏屬性。 這是因為取決於文件中的數據,將執行不同類型的處理,並且其中一些處理需要在另一頁上接受用戶的其他輸入,而第三頁進行處理。 因此,文件名應傳遞給表單,但我不希望用戶再次上傳文件。

但是,如果用戶單擊“取消”,則我不希望文件名保留在第一頁中。 但是,這沒有發生。

所以我有兩個問題。 為什么Chrome和Firefox中的行為有所不同,有什么辦法可以糾正它在chrome中的行為?

解決了。

工作中的人們說,取消按鈕的行為是一種已知的行為。 單擊Chrome中的“取消”后,再次看到文件名是可以的。 我們不應該在Mozilla中看到它。

很抱歉造成您的困惑,也感謝您回答我的問題。

暫無
暫無

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

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