首頁  >  文章  >  web前端  >  js中return false(阻止)的用法_jquery

js中return false(阻止)的用法_jquery

WBOY
WBOY原創
2016-05-16 17:25:451224瀏覽

return false 阻止表單提交不起今天這個問題困擾了我很久,在網上找了很多資料,基本上關於onsubmit=return false有以下幾點要注意的地方:

1. return 的回傳值問題,函數中return一旦有回傳值,就不在執行下面的語句,直接跳到函數呼叫的地方。如下PHP函數程式碼,第一個if條件符合則函數值傳回布林型false,可以傳回一個函數的值,並且跳出這個函數;只要遇到return語句,程式就在那一行程式碼停止執行,執行控制會立刻返回到呼叫該程式的程式碼。

複製程式碼 程式碼如下:

function ch🎜(form)


function ch🎜(form)
{
if(form.title.value=="")
{
alert("請輸入文章標題!");
form.title.select();
return false; //注意不能寫成return(false); 2009.12.15
}

if(form.content.value=="")
{
alert("文章正文不能為空@!! ");
form.content.select();
return false;
}
return true;
}


2.form的onsubmit屬性的觸發問題,onsubmit 事件何時觸發? onsubmit 事件會在表單中的確認按鈕被點擊時發生。不觸發的原因有一般如下:

A. onsubmit屬性的觸發時機是在form用input:submit這樣的button提交時才會觸發,否則不會觸發。如果是用一個普通input:button,則在onclick屬性中指定一個javascript函數,在這個函數裡面再執行form的submit()函數,而不是onsubmit屬性。
B. 先看一段程式碼: 複製程式碼

程式碼如下:



程式碼如下:



程式碼如下:








點選submit按鈕該表單並未提交。因為有一處應該改為(紅色字型)
原來onsubmit屬性就像是
這個html物件的一個方法名,其值(一字串)就是其方法體,預設回傳true;

和Java一樣,在這個方法體中你可以寫任意多個語句,包括內建函數和自訂函數。
Return False 就相當於終止符,Return True 就相當於執行符。的話)以外還要觸發一個預設事件就是執行頁面的跳轉。 所以如果
你想取消物件的預設動作就可以return false。 >

複製程式碼


程式碼如下:



1, 超級連結
2,
3,
內容
submitAction 方法裡面有提交表單的動作。
執行完 submitAction 之後,submit 按鈕也會繼續執行它的預設事件,就會再次提交表單。這可能就是很多錯誤的根源。
的確,return false的意思不是阻止事件繼續向頂層元素傳播,而是阻止瀏覽器對事件的預設處理。你可以這樣試驗:
先將所有的js腳本註解掉,在IE瀏覽器中嘗試拖曳一下圖片,你會發現滑鼠會成為禁止操作的樣式,圖片是被禁止拖曳的,它是瀏覽器針對mousemove事件所提供的預設行為。

return false就是為了去除這種行為,否則就會出現你所描述的中斷事件連續執行。
另外,和return false等效的語句為:

window.event.returnValue = false,
你可以把return false替換為此語句並驗證。
最後說明一下,此種方式只適用於IE瀏覽器。

在js中return false的作用一般是用來取消預設動作的。例如你點擊一個連結除了觸發你的
onclick時間(如果你指定的話)以外還要觸發一個預設事件就是執行頁面的跳轉。所以如果
你想取消物件的預設動作就可以return false。 return false應用比較多的場合有:
複製程式碼 程式碼如下:

程式碼如下:

......
dddd
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn