验证与Java脚本和打印
Validation With Java Script and printing
我有一个HTML表单,如果字段为空,Javascript将在字段内打印错误。请有人给我一段代码,将验证表单,然后将打印错误在表单的顶部,如果它的左空白,而不是表单的字段内?
我的形式:
<form id="contact" onsubmit="checkContactForm(); return false;" onreset="resetForm();">
<p>Fill in the form below to send me a message!</p>
<div id="errormessage"></div>
<p>
<label for=""> </label>
<input type="text" name="" id="" onfocus="" />
<p>
<label for="name">Name:</label>
<input type="text" name="name" id="name" onfocus="resetField(this);" />
</p>
<p>
<label for="email">E-mail address:</label>
<input type="text" name="email" id="email" onfocus="resetField(this);" />
</p>
<p>
<label for="message">Your Message:</label>
<textarea name="message" id="message" rows="5" cols="25" onfocus="resetField(this);"></textarea>
</p>
<p>
<button type="submit">Send Message</button>
<button type="reset">Reset Form</button>
</p>
我的Javascript:
var requiredFields = ["name", "email", "message"];
function checkContactForm() {
var myForm = document.forms[0];
for (i in requiredFields) {
fieldName = requiredFields[i];
if (!myForm[fieldName].value || myForm[fieldName].value == "Error") {
myForm[fieldName].style.color = "#f66";
myForm[fieldName].value = "";
var emptyFields = true;
}
}
if (!emptyFields) { myForm.submit(); }
}
function resetField(myField) {
if (myField.value == "Error") {
myField.style.color = "#000";
myField.value = "";
}
}
function resetForm(myForm) {
var myForm = document.forms[0];
for (i in requiredFields) {
fieldName = requiredFields[i];
myForm[fieldName].style.color = "#000";
}
}
由于HTML5有一个表单验证API (http://www.w3schools.com/js/js_form_validation.asp)
在这里你可以找到一个很好的"教程":http://www.smashingmagazine.com/2009/07/07/web-form-validation-best-practices-and-tutorials/
如果我明白你想要的错误将打印在#errormessagediv,对吗?如果是这样,您可以简单地执行如下操作:
function addError(str){
document.getElementById("errormessage").innnerHTML = document.getElementById("errormessage").innerHTML + str + "<br>";
}
function checkContactForm() {
var myForm = document.forms[0];
for (i in requiredFields) {
fieldName = requiredFields[i];
if (!myForm[fieldName].value || myForm[fieldName].value == "Error") {
myForm[fieldName].style.color = "#f66";
myForm[fieldName].value = "";
var emptyFields = true;
addError(fiedlName+" is empty!");
}
}
if (!emptyFields) { myForm.submit(); }
}
相关文章:
- 运行 python 脚本并在网站上显示打印值
- 如何使用php动态打印html脚本
- 使用 jquery 将 PHP 脚本打印为纯文本
- Java 脚本:递归地遍历关联的 HTML 文件的 Dom,并打印遇到的元素类型
- 参数在使用 Google Apps 脚本的 Google 云打印中不起作用
- 如何在 Java 脚本中打印大括号循环
- 打印下一页 - java 脚本
- 如何在处理PHP脚本时用Javascript打印报告
- 在文本区域内运行脚本以打印值
- 如何使用 Java 脚本或 jQuery 打印表中的特定列
- 如何在java脚本中打印此哈希表数据
- 将 html 数据与内联脚本 html 数据追加并打印
- 如何在 javascript 中取消打印功能后重新加载脚本
- 当请求php脚本生成的图像时,如何使用javascript/其他方法以某种格式打印日期
- 为什么这个javascript不打印出一系列脚本元素
- JavaScript:如何在循环中打印多个脚本标记
- php打印上的脚本高亮效果
- 打印javascript转义文本时缺少脚本标记
- InDesign脚本:如何在分色中打印特定专色
- 验证与Java脚本和打印