将事件处理程序移动到单独的文档
Moving event handlers to separate document
我目前正在使用这个HTML代码:
<form onsubmit="return validateForm()" action="page.html" >
Name: <input type="text" id="name" /><br />
Email: <input type="text" id="email" /><br />
<input type="submit" value="Submit" />
</form>
但是我想把我的事件处理程序移动到我单独的javascript中,进入名为initiate的函数中。我的javascript是这样的:
function formValidator(){
var name = document.getElementById("name");
var email = document.getElementById("email");
if(isAlphabet(name, "Fill in name"))
{
if(emailValidator(email, "Fill in email"))
{
return true;
}
}
return false;
}
function isAlphabet(elem, helpMsg)
{
var alphaExp = /^[a-zA-Z]+$/;
if(elem.value.match(alphaExp))
{
return true;
}
else
{
alert(helpMsg);
elem.focus();
return false;
}
}
function emailValidator(elem, helpMsg)
{
var emailExp = /^['w'-'.'+]+'@[a-zA-Z0-9'.'-]+'.[a-zA-z0-9]{2,4}$/;
if(elem.value.match(emailExp))
{
return true;
}
else
{
alert(helpMsg);
elem.focus();
return false;
}
}
function initiate {
// ..
}
window.onload = initiate;
到目前为止,我只知道如何编写代码重定向到新的网页,但它不检查它是一个有效的代码。我用过这个:
HTML<form id="form">
Name: <input type="text" id="name" /><br />
Email: <input type="text" id="email" /><br />
<input type="submit" value="Submit" />
</form>
Javascript document.getElementById("form").action = "page.html";
但我不知道如何写,使.action="page.html"
和return validateForm()
都工作。
您的表单需要一个id
:
<form id="form">
Name: <input type="text" id="name" /><br />
Email: <input type="text" id="email" /><br />
<input type="submit" value="Submit" />
</form>
单独的Javascript文件:
function initiate()
{
var form = document.getElementById("form");
form.action = "page.html";
form.onsubmit = function validateForm()
{
var name = document.getElementById("name");
var email = document.getElementById("email");
if(isAlphabet(name, "Fill in name"))
{
if(emailValidator(email, "Fill in email"))
{
return true;
}
}
return false;
};
}
window.onload = initiate;
确保validateForm()
函数返回false,如果没有验证。
相关文章:
- 使用promise和mongoose对文档进行排序
- document.open/document.write没有正确地清除chrome中的文档——这是chrome的错误吗
- Ajax请求文档就绪会导致jquery加载缓慢
- MongoDB (php) - 以数组而不是多个属性的形式返回文档属性
- 谷歌文档表面引擎
- 来自文档或下一个静态父级的事件委派
- 如何将childNodes用于XML文档
- 文档就绪提供了错误的选择器高度
- 将当前用户的 ID 推送到 meteorjs 中集合/文档的内部数组
- 未捕获的语法错误:无法在“文档”上执行“查询选择器”
- BrowserId登录请求在文档加载时被调用
- 从Javascript和Php变量创建Html模板文档
- JavaScript:使用来自单独HTML文档的输入写入当前HTML文档
- 使用单独的.js javascript 文件打印到文档
- 如何将猫鼬子文档分离为单独的文件
- 附加HTML,但有单独的淡入在文档点击
- 将事件处理程序移动到单独的文档
- 如何将事件处理程序存储在单独的文档中
- 单独文档中的事件处理程序
- 事件处理程序在单独的文档中