2015-08-14 33 views
0

了這個奮鬥了一個多小時不能看到從現在樹木的樹林..JavaScript表單堵不工作的調用第二功能

香港專業教育學院與調用驗證功能的onsubmit一種形式,但形式總是提交併刷新頁面。

它的工作原理確定,如果驗證功能的底好像

function verifycheck(){ 
.... checking scripts that work .... 
if (!pass){ 
    alert("Un ou plus des l'elements requis ne sont pas remplier. SVP remplier, puis envoyer encore!") 
    return false 
}else{ 
    return false 
} 
} 

爲ID的處置形式從未提交...

但是,如果我再嘗試驗證成功推向另一個功能..

function verifycheck(){ 
.... checking scripts that work .... 
if (!pass){ 
    alert("Un ou plus des l'elements requis ne sont pas remplier. SVP remplier, puis envoyer encore!") 
    return false 
}else{ 
    sendformdata(form); 
} 
} 

function sendformdata(form){ 
return false 
} 

表單將提交和頁面刷新。

爲什麼移動返回到第二個函數會導致表單提交?

的HTML看起來像

<form id="signupform" action="" method="post" onSubmit="return verifycheck(this);"> 
+0

因爲第二個函數返回到第一,它不「轉嫁」的迴歸。 – RobG

回答

3

爲什麼移動迴歸到第二功能使表單提交?

這是因爲verifyCheck函數現在不會返回任何東西。返回值不會自動「冒泡」。爲了防止提交,您必須通過傳遞來自sendformdata的返回值來從verifyCheck返回false。要做到這一點,更改行調用該函數:

return sendformdata(form); 

因此總的代碼變成:

function verifycheck() { 
    .... checking scripts that work .... 
    if (!pass) { 
    alert("Un ou plus des l'elements requis ne sont pas remplier. SVP remplier, puis envoyer encore!") 
    return false; 
    } else { 
    return sendformdata(form); // Change in this line. 
    } 
} 

function sendformdata(form) { 
    return false; 
}