1:如果使用標簽<a>來鏈接到一個頁面的話,target屬性的作用,相信大家都知道。就是指對鏈接的頁面以怎麼樣的形式展現出來,target常用的值有:_blank(以新彈出一個浏覽器窗口打開鏈接的頁面)、_self(在原來的窗口中打開鏈接的頁面)。當然還有_top等等,因為不常用,所以在此就不多做介紹了。
例如:<a href="http://jb51.net" target="_blank">腳本之家 </a> 表示要鏈接到腳本之家去,並以新開窗口打開
2:如果使用標簽<a>觸發一個動作(動作完成以後,一般都要跳轉到某個頁面)。這個動作在這裡又可以分為兩種:
(1) 不提交表單形式的動作(即不對form進行操作的動作)。web開發中相關的情景比如:單個刪除某條記錄等,像這樣的操作都不是很復雜,需要的參數也不是很多,都是已get方式提交的。這時對於要跳轉的頁面的展現形式,您可以通過target屬性來指定。這裡用法和1中介紹的一樣。
比如
<a href="http://jb51.net/user/deleteAction.do?id=5" target="_self">刪除小明</a> 表示處理完動作後,還在本窗口打開新頁面。
(2)以表單的形式提交的動作(即要提交form中的數據的動作)。web開發中這樣的應用常見與用戶注冊、修改信息等等。當然有人會說提交form中的數據可以直接用<input type="submit">或<input type="button">的進行提交。但有些情況下,你可能更願意用<a href="javasrcipt:您的js函數名">的形式來提交。如果您這裡是以標簽<a>的形式來提交的,而您想通過屬性target來控制處理完成後要跳轉的頁面是行不通。這個時候target屬性已不在起作用了,取而代之的是,您應該在form的target屬性中制定,這樣才會如您所願!
比如:
復制代碼代碼如下:
function check(){ //驗證不為空
if(form1.username.value=""){
return;
}
form1.submit();
}
<form action="http://china.com/user/addAction.do" target="_blank" name="form1">
<input type="text" name="username" >
</form>
<a href="javascript:check();" target="_self">提交</a>
表示處理完動作後,還在新窗口打開新頁面。(雖然這裡通過了標簽<a>的target屬性設置了,但不會起作用;而是form的target屬性起作用)。