1. 程式人生 > >使用input標籤+location方法來觸發js函式

使用input標籤+location方法來觸發js函式

關於使用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方法 來觸發這個函式可以完美解決這個問題。