用于添加onclick
个button
事件并收集数据,甚至不需要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()”的相同功能?
答案 0 :(得分:1)
对于带有DOM2 API的HTML5:
f.addEventListener(&#39; submit&#39;,function(e){if(!userAdd()){ e.preventDefault(); }});