2011-05-30 136 views
0

我是JavaScript新手,我對語法有點困惑。javascript中的返回值

function validateForm() 
{ 
var x=document.forms["myForm"]["fname"].value 
if (x==null || x=="") 
    { 
    alert("First name must be filled out"); 
    return false; 
    } 
} 

<form name="myForm" action="demo_form.asp" onsubmit="return validateForm()" method="post"> 
First name: <input type="text" name="fname"> 
<input type="submit" value="Submit"> 
</form> 

我的問題是如果我寫的onsubmit = 「返回validateForm()」 或寫的onsubmit = 「validateForm()」。這兩種語法有什麼區別。所以我只是提供一個例子。

這裏是示例

Event = function();或Event = return function();

這兩個語法有什麼區別

+0

所不同的是,後者是沒有意義和/或無效。你有更多的背景嗎? – deceze 2011-05-30 09:06:18

回答

1

onsubmit="validateForm()"只是調用該函數,返回的任何內容都會丟失,不會影響任何內容。 但在onsubmit="return validateForm()"中,返回的值會再次返回,如果false將不提交表單,並且如果爲true,則會繼續提交過程。 所以,你可以用它喜歡:

function check() 
{ 
    if(document.getElementByName("fname").value == ""){ 
     return(false); //Do not submit the form 
    } 
    return(true); //Submit the forum 
} 

<form name="myForm" action="demo_form.asp" onsubmit="return(check());" method="post"> 
First name: <input type="text" name="fname"> 
<input type="submit" value="Submit"> 
</form> 
2

它們都是無效的。

return聲明應在功能使用。繼return語句表達的是什麼會從函數返回,所以:

function foo() { 
    return 1234; 
} 

foo(); // => 1234 

如果你想分配功能的Event標識符,那麼你會做它像這樣:

Event = function() { 
    // function body (what do you want the function to do?) 
}; 
+0

這不是確切的代碼。我只是問這些語法之間的區別。它只是僞代碼 – 2011-05-31 17:42:18

+0

看到我的答案爲什麼(幾秒鐘內發佈)我認爲這是錯誤的 – Jonathon 2011-05-31 18:35:14

+0

OP添加了一堆代碼(問題的後期編輯)...使我的答案看起來不合適。 – James 2011-06-01 15:53:34