如何创建onsubmit ="返回groupAdd()"的相同功能?使用EventHandler动态添加onsubmit时?

时间:2014-07-26 12:44:43

标签: javascript html5 eventhandler

用于添加onclickbutton事件并收集数据,甚至不需要form element,但使用HTML5您可以利用错误检查用户提交表单时显示的默认消息。

<input type="email" id="addEmail" name="addEmail"  placeholder="user@sample.com" 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="user@sample.com" 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的unsubmit时,如何创建onsubmit =“return groupAdd()”的相同功能?

1 个答案:

答案 0 :(得分:1)

对于带有DOM2 API的HTML5:

  

f.addEventListener(&#39; submit&#39;,function(e){if(!userAdd()){   e.preventDefault(); }});