相信做web開發(fā)的人,都會用到標(biāo)簽,要么用來做鏈接,要么用來觸發(fā)一個動作。在這里我要專門說下屬性target的用法。
1:如果使用標(biāo)簽<a>來鏈接到一個頁面的話,target屬性的作用,相信大家都知道。就是指對鏈接的頁面以怎么樣的形式展現(xiàn)出來,target常用的值有:_blank(以新彈出一個瀏覽器窗口打開鏈接的頁面)、_self(在原來的窗口中打開鏈接的頁面)。當(dāng)然還有_top等等,因為不常用,所以在此就不多做介紹了。
例如:<a target="_blank">腳本之家 </a> 表示要鏈接到腳本之家去,并以新開窗口打開
2:如果使用標(biāo)簽<a>觸發(fā)一個動作(動作完成以后,一般都要跳轉(zhuǎn)到某個頁面)。這個動作在這里又可以分為兩種:
(1) 不提交表單形式的動作(即不對form進(jìn)行操作的動作)。web開發(fā)中相關(guān)的情景比如:單個刪除某條記錄等,像這樣的操作都不是很復(fù)雜,需要的參數(shù)也不是很多,都是已get方式提交的。這時對于要跳轉(zhuǎn)的頁面的展現(xiàn)形式,您可以通過target屬性來指定。這里用法和1中介紹的一樣。
比如
<a target="_self">刪除小明</a> 表示處理完動作后,還在本窗口打開新頁面。
(2)以表單的形式提交的動作(即要提交form中的數(shù)據(jù)的動作)。web開發(fā)中這樣的應(yīng)用常見與用戶注冊、修改信息等等。當(dāng)然有人會說提交form中的數(shù)據(jù)可以直接用<input type="submit">或<input type="button">的進(jìn)行提交。但有些情況下,你可能更愿意用<a href="javasrcipt:您的js函數(shù)名">的形式來提交。如果您這里是以標(biāo)簽<a>的形式來提交的,而您想通過屬性target來控制處理完成后要跳轉(zhuǎn)的頁面是行不通。這個時候target屬性已不在起作用了,取而代之的是,您應(yīng)該在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>
表示處理完動作后,還在新窗口打開新頁面。(雖然這里通過了標(biāo)簽<a>的target屬性設(shè)置了,但不會起作用;而是form的target屬性起作用)。