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