2014-07-26 25 views
1

用於僅將onclick事件與button相加並收集數據,甚至不需要form element,但使用HTML5時,可以利用錯誤檢查和用戶提交表單時顯示的默認消息。如何在使用EventHandler動態添加onsubmit時,如何創建onsubmit =「return groupAdd()」的相同功能?

<input type="email" id="addEmail" name="addEmail" placeholder="[email protected]" value="" required="" title="" /> 

由於類型爲email,有一個require屬性當前瀏覽器會檢查一個結構良好的電子郵件地址onsubmit。如果該值失敗,則在輸入下顯示一條消息,指示用戶必須修復該值。

您還可以使用正則表達式例如

<input type="password" id="addPassword" name="addPassword" placeholder="Password" value="" required="" pattern="^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[0-9a-zA-Z]{8,}$" title="" /> 

總之你有

<script> 
function userAdd(){ 
    *** xmlhttprequest code ******* 
    return false; 
} 
</script> 

<html> 
<form action="admin" method="post" onsubmit="return userAdd();"> 
<input type="email" id="addEmail" name="addEmail" placeholder="[email protected]" value="" required="" title="" /> 
<input type="password" id="addPassword" name="addPassword" placeholder="Password" value="" required="" pattern="^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[0-9a-zA-Z]{8,}$" title="" /> 
<input type="submit" value="Submit" /> 
</form> 
</html> 

當我動態生成的表單元素,我需要附加一個事件處理程序:

f = document.createElement('form'); 

addEventHandler(f,'submit', function(){userAdd()}); 

function addEventHandler(elem,eventType,handler) { 
    if (elem.addEventListener) 
     elem.addEventListener (eventType,handler,false); 
    else if (elem.attachEvent) 
     elem.attachEvent ('on'+eventType,handler); 
    } 
} 

我想保持默認提交功能的原因是因爲內置HTML5功能。

如何在動態添加未提交事件時使用EventHandler創建onsubmit =「return groupAdd()」的相同功能?

回答

1

對於HTML5與DOM2 API:

f.addEventListener( '提交',函數(E){!如果(useradd的()){ e.preventDefault();}});