如何使用事件处理程序动态添加 onsubmit= "return groupAdd()"创建相同的 onsubmit= 功能?



使用button添加onclick事件并收集数据,甚至不需要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内置的特性。

我如何创建onsubmit="return groupAdd()"的相同功能时动态添加unsubmit与EventHandler?

对于带有DOM2 API的HTML5:

f。addEventListener('submit', function(e) {if (!userAdd()) {e.preventDefault ();}});

最新更新