在大多數情況下,為事件處理函數傳回false,可以防止預設事件的行為。
例如,預設情況下點選一個<a>元素,頁面會跳轉到該元素href屬性指定的頁。Return False 就相當于終止符,Return True 就相當于執行符。在js中return false的作用一般是用來取消預設動作的。比如你單擊一個連結除了觸發你的onclick事件(如果你指定的話)以外,還要觸發一個預設事件就是執行頁面的跳轉。是以如果你想取消對象的預設動作就可以return false。
return false應用比較多的場合有:
<form name="form1" onsubmIT="return youfunction();">...... </form>
<a href="www.***.com" οnclick="...;return false;">dddd </a>
<script type="text/javascript">
function test(){
alert("test");
return false;
}
</script>
1, <a href="a.JSP" mce_href="a.JSP" οnclick='test();'>超級連結 </a>
2, <input type="button" οnclick='test()' value="送出">
3, <form name="form1" onsubmIt="return test();">
最近做的項目,通過綁定在 button 的 onclick 事件的函數送出表單。發現 return false 也是很重要的。比如:<input type="submit" οnclick="submitAction(); return false;" />
submitAction 方法裡面有送出表單的動作。如果不加 return false,在執行完 submitAction 之後,submit 按鈕還會繼續執行它的預設事件,就會再次送出表單。這可能就是很多錯誤的根源。
衆所周知,在表單中加上οnsubmit="return false;"可以阻止表單送出。
下面是簡單的一小段代碼:
<form action="index.jsp" method="post" onsubmit="submitTest();">
<INPUT value="www">
<input type="submit" value="submit">
</form>
<SCRIPT LANGUAGE="JavaScript">
function submitTest(){
// 一些邏輯判斷
return false;
}
</SCRIPT>
大家判斷像上面的寫法,點選submit按鈕該表單是否送出?
若答案為是(正确),就不用往下看了。
若答案為否(錯誤),就錯了。
實際情況是表單正常送出,若想它不送出,應該将
view plaincopy to clipboardprint?
<form action="index.jsp" method="post" οnsubmit="submitTest();">
改為
view plaincopy to clipboardprint?
<form action="index.jsp" method="post" οnsubmit="return submitTest();">