使用input標籤+location方法來觸發js函式
阿新 • • 發佈:2019-02-02
關於使用window.open(“url”)和window.location=”url”;方法區別:
Open:在新的頁面開啟url
Location:在當前頁開啟url
功能:
在刪除功能上,使用標籤觸發一個函式,函式去定位一個Action方法,執行該Action方法。
js函式程式碼:
function showMessage(custId){ var falg = window.confirm("你確定要刪除嗎?..") if(falg){ //window.open("${pageContext.request.contextPath}/customerAction_delById?custId="+custId); window.location.href="${pageContext.request.contextPath}/customerAction_delById?custId="+custId; //window.location.href="${pageContext.request.contextPath}/customerAction_delById?custId="+custId; }
訪問這個函式的兩種方式:
1. input標籤
<input type="button" value="刪除" onclick="showMessage('${customer.custId}')"/>
2. button標籤
<button onclick="showMessage('${customer.custId}')">刪除</button>
一、首先說說使用button標籤來觸發這個函式遇到的問題:
如果使用button標籤+ location方法來觸發這個函式,使用火狐(57.0版本)和谷歌(61.0版本)瀏覽器則不會執行到路徑中Action中的方法,(執行了表單提交的路徑)。但是IE(11.674版本)可以執行到Action的方法。(具體原因是瀏覽器版本問題或button標籤太老了)
如果使用button標籤+ open方法來 觸發這個函式,任何主流瀏覽都可以執行到路徑中Action中的方法。但是打開了一個新的頁面執行的url資源路徑。
二、說說input標籤觸發這個函式
使用input標籤+open來觸發這個函式,在一個新的頁面執行了url資源路徑。並且執行了Action中的方法。
使用input標籤+location方法 來觸發這個函式,在當前頁面正確執行了執行了url資源路徑,並且執行了Action中的方法。
總結:
使用input標籤+location方法 來觸發這個函式可以完美解決這個問題。