使用javascript进行实时验证 我这里有一个文本框验证。错误消息不会以警报的形式出现,而是打印在html div标记中
Html:使用javascript进行实时验证 我这里有一个文本框验证。错误消息不会以警报的形式出现,而是打印在html div标记中,javascript,button,Javascript,Button,Html: 单击按钮,我将打印错误消息 我的问题是,javascript中是否有任何实时验证 我的意思是,首先,错误消息应该在点击按钮时出现,用户在文本框中输入值的时间,如果名字文本框有任何值,我需要清除错误消息,而无需再次点击按钮 请检查我的链接并帮助我 您可以尝试使用,并且不应使用onclick事件处理程序进行提交 对于实时验证,可以使用onblur,将其插入输入框。这将在每次离开输入字段时验证输入 您可以尝试以下方法: <script> function checkFNam
- 单击按钮,我将打印错误消息
- 我的问题是,javascript中是否有任何实时验证
- 我的意思是,首先,错误消息应该在点击按钮时出现,用户在文本框中输入值的时间,如果名字文本框有任何值,我需要清除错误消息,而无需再次点击按钮
请检查我的链接并帮助我 您可以尝试使用,并且不应使用onclick事件处理程序进行提交 对于实时验证,可以使用onblur,将其插入输入框。这将在每次离开输入字段时验证输入 您可以尝试以下方法:
<script>
function checkFName()
{
fName = document.getElementById("fname").value;
if(fName == ""){
document.getElementById("error").innerHTML = "First name field cannot be empty";
document.getElementById("fname").focus;
return false;
}
}
function checkLName()
{
lname = document.getElementById("lname").value;
if(lname == ""){
document.getElementById("error").innerHTML = "Last name field cannot be empty";
document.getElementById("lname").focus;
return false;
}
}
</script>
<div id="error" style="position:absolute; left:auto; top:7px;"></div>
<div style="position:absolute; left:auto; top:25px;">
First name: <input type="text" id="fname" name="fname" onchange="checkFName();"><br>
Last name: <input type="text" id="lname" name="lname" onchange="checkLName();"><br>
<input type="submit" value="Submit"><div>
函数checkFName()
{
fName=document.getElementById(“fName”).value;
如果(fName==“”){
document.getElementById(“error”).innerHTML=“名字字段不能为空”;
document.getElementById(“fname”).focus;
返回false;
}
}
函数checkLName()
{
lname=document.getElementById(“lname”).value;
如果(lname==“”){
document.getElementById(“error”).innerHTML=“姓氏字段不能为空”;
document.getElementById(“lname”).focus;
返回false;
}
}
名字:
姓氏:
希望这会有所帮助
//Javascript
<script type="text/javascript" language="javascript">
var oneTimeMsgClikced = false;
function requiredFields() {
var fName = document.getElementById("fname").value;
var lName = document.getElementById("lname").value;
if (fName == "") {
document.getElementById("error").innerHTML = "First name field cannot be empty";
oneTimeMsgClikced = false;
} else if (lName == "") {
document.getElementById("error").innerHTML = "Last name field cannot be empty";
oneTimeMsgClikced = false;
} else {
document.getElementById("error").innerHTML = "";
if (oneTimeMsgClikced == false) {
alert("successful");
oneTimeMsgClikced = true;
}
}
}
</script>
window.addEventListener('load', function init(){
var signup = document.getElementById('signup'),
fields = signup.getElementsByClassName('required'),
errors = document.getElementById('errors'),
error = '<li>{error}</li>',
submitted = false,
errorlog = [],
index = 0,
field,
focusin;
signup.addEventListener('submit', validateform);
while (field = fields[index++]) {
field.addEventListener('blur', validatefield);
field.addEventListener('keyup', validatefield);
}
function validatefield() {
var message = this.dataset['validateError'],
sort = this.dataset['errorSort'],
parent = this.parentNode;
if (this.value === '' && (message && sort)) {
errorlog[sort] = error.replace('{error}', message);
parent.className += ' validationerror';
if (!focusin) {
focusin = this;
}
} else if (this.value !== '' && (message && sort)) {
delete errorlog[sort];
parent.className = parent.className.replace('validationerror', '');
if (focusin == this) {
focusin = null;
}
}
if (!submitted) {
isvalid();
}
}
function validateform(event) {
index = 0;
errorlog = [];
focusin = null;
submitted = true;
while (field = fields[index++]) {
callevt(field, 'focus');
callevt(field, 'blur');
}
submitted = false;
if (!isvalid()) {
if (focusin) {
focusin.focus();
}
focusin = null;
event.preventDefault();
return false;
}
}
function isvalid() {
errors.innerHTML = '';
if (errorlog.length) {
errors.innerHTML = errorlog.join('');
return false;
}
return true;
}
function callevt(el, type) {
var evt = document.createEvent('HTMLEvents');
evt.initEvent(type, true, true);
el.dispatchEvent(evt);
}
});
var onetimemsgcliked=false;
函数requiredFields(){
var fName=document.getElementById(“fName”).value;
var lName=document.getElementById(“lName”).value;
如果(fName==“”){
document.getElementById(“error”).innerHTML=“名字字段不能为空”;
OneTimeMsgClicked=假;
}else if(lName==“”){
document.getElementById(“error”).innerHTML=“姓氏字段不能为空”;
OneTimeMsgClicked=假;
}否则{
document.getElementById(“错误”).innerHTML=“”;
if(onetimemsgcliked==false){
警报(“成功”);
OneTimeMsgClicked=真;
}
}
}
//html代码
<body>
<div id="error" style="position: absolute; left: auto; top: 7px;">
Errors here
</div>
<div style="position: absolute; left: auto; top: 25px;">
First name:
<input type="text" id="fname" name="fname" onblur="requiredFields()" />
<br />
Last name:
<input type="text" id="lname" name="lname" onblur="requiredFields()"/>
<br />
<input type="submit" value="Submit" onclick="requiredFields()" />
</div>
</body>
这里的错误
名字:
姓氏:
这里有一种方法,它使用了一些比内联事件处理程序更现代的方法(例如,onchange=“”
)。这是由数据-
属性驱动的,正如您将看到的,尽管它当前未配置为处理除输入[type=text]
之外的任何内容,但它可以扩展为使用选择
s、文本区域
s等
由于这些版本使用的是attachEvent
而不是addEventListener
来设置事件处理程序,因此下面的内容并不意味着可以与IE8及更低版本一起使用。同样,这可以在中使用,但在所有其他现代浏览器中都可以使用。它应该在IE9中工作,尽管还没有经过测试
这看起来可能有很多事情要做,但是看看它,看看你是否能弄清楚它是如何运作的。也可以随意问我任何你喜欢的问题
这是一把小提琴(在Chrome和Firefox中测试):
HTML
<aside>
<ol id="errors"></ol>
</aside>
<section id="signup">
<form action="#">
<p>
<label for="fname">First Name:</label>
<span>
<input type="text" id="fname" name="fname" class="required"
data-validate-error="First name may not be empty."
data-error-sort="0"/>
</span>
</p>
<p>
<label for="lname">Last name:</label>
<span>
<input type="text" id="lname" name="lname" class="required"
data-validate-error="Last name may not be empty."
data-error-sort="1"/>
</span>
</p>
<p>
<label for="addr1">Address 1:</label>
<span>
<input type="text" id="addr1" name="addr1" class="required"
data-validate-error="Address may not be empty."
data-error-sort="2"/>
</span>
</p>
<p>
<label for="addr2">Address 2:</label>
<span><input type="text" id="addr2" name="addr2"/></span>
</p>
<p>
<label for="city">City:</label>
<span>
<input type="text" id="city" name="city" class="required"
data-validate-error="City may not be empty."
data-error-sort="3"/>
</span>
</p>
<p>
<label for="state">State:</label>
<span>
<input type="text" id="state" name="state" class="required"
data-validate-error="State may not be empty."
data-error-sort="4"/>
</span>
</p>
<p>
<span></span>
<span style="text-align: right;">
<input type="submit" value="Submit"/>
</span>
</p>
</form>
</section>
Javascript
<script type="text/javascript" language="javascript">
var oneTimeMsgClikced = false;
function requiredFields() {
var fName = document.getElementById("fname").value;
var lName = document.getElementById("lname").value;
if (fName == "") {
document.getElementById("error").innerHTML = "First name field cannot be empty";
oneTimeMsgClikced = false;
} else if (lName == "") {
document.getElementById("error").innerHTML = "Last name field cannot be empty";
oneTimeMsgClikced = false;
} else {
document.getElementById("error").innerHTML = "";
if (oneTimeMsgClikced == false) {
alert("successful");
oneTimeMsgClikced = true;
}
}
}
</script>
window.addEventListener('load', function init(){
var signup = document.getElementById('signup'),
fields = signup.getElementsByClassName('required'),
errors = document.getElementById('errors'),
error = '<li>{error}</li>',
submitted = false,
errorlog = [],
index = 0,
field,
focusin;
signup.addEventListener('submit', validateform);
while (field = fields[index++]) {
field.addEventListener('blur', validatefield);
field.addEventListener('keyup', validatefield);
}
function validatefield() {
var message = this.dataset['validateError'],
sort = this.dataset['errorSort'],
parent = this.parentNode;
if (this.value === '' && (message && sort)) {
errorlog[sort] = error.replace('{error}', message);
parent.className += ' validationerror';
if (!focusin) {
focusin = this;
}
} else if (this.value !== '' && (message && sort)) {
delete errorlog[sort];
parent.className = parent.className.replace('validationerror', '');
if (focusin == this) {
focusin = null;
}
}
if (!submitted) {
isvalid();
}
}
function validateform(event) {
index = 0;
errorlog = [];
focusin = null;
submitted = true;
while (field = fields[index++]) {
callevt(field, 'focus');
callevt(field, 'blur');
}
submitted = false;
if (!isvalid()) {
if (focusin) {
focusin.focus();
}
focusin = null;
event.preventDefault();
return false;
}
}
function isvalid() {
errors.innerHTML = '';
if (errorlog.length) {
errors.innerHTML = errorlog.join('');
return false;
}
return true;
}
function callevt(el, type) {
var evt = document.createEvent('HTMLEvents');
evt.initEvent(type, true, true);
el.dispatchEvent(evt);
}
});
window.addEventListener('load',function init(){
var signup=document.getElementById('signup'),
fields=signup.getElementsByClassName('required'),
errors=document.getElementById('errors'),
error='{error} ',
提交=错误,
errorlog=[],
指数=0,
领域
聚焦蛋白;
signup.addEventListener('submit',validateform);
而(字段=字段[index++]){
字段。addEventListener('blur',validatefield);
字段。addEventListener('keyup',validatefield);
}
函数validatefield(){
var message=this.dataset['validateError'],
sort=this.dataset['errorSort'],
parent=this.parentNode;
if(this.value==''&&(消息和排序)){
errorlog[sort]=error.replace({error}),消息;
parent.className+=“validationerror”;
如果(!focusin){
focusin=此;
}
}else if(this.value!=''&&(消息和排序)){
删除错误日志[排序];
parent.className=parent.className.replace('validationerror','');
if(focusin==此){
focusin=null;
}
}
如果(!已提交){
isvalid();
}
}
函数validateform(事件){
指数=0;
errorlog=[];
focusin=null;
提交=真实;
而(字段=字段[index++]){
callevt(字段“焦点”);
callevt(字段“模糊”);
}
提交=错误;
如果(!isvalid()){
如果(聚焦){
focusin.focus();
}
focusin=null;
event.preventDefault();
返回false;
}
}
函数isvalid(){
errors.innerHTML='';
if(errorlog.length){
errors.innerHTML=errorlog.join(“”);
返回false;
}
返回true;
}
被调用函数VT(el,类型){
var evt=document.createEvent('HTMLEvents');
evt.initEvent(类型,true,true);
el.调度事件(evt);
}
});
你能检查一下链接吗。。按钮的点击事件处理程序是必需的。@Rachel-Bazinga777意味着您需要处理表单ssubmit
事件,而不是输入[type=submit]
的点击事件。这不会阻止表单
的提交(单击onclick
),因为
window.addEventListener('load', function init(){
var signup = document.getElementById('signup'),
fields = signup.getElementsByClassName('required'),
errors = document.getElementById('errors'),
error = '<li>{error}</li>',
submitted = false,
errorlog = [],
index = 0,
field,
focusin;
signup.addEventListener('submit', validateform);
while (field = fields[index++]) {
field.addEventListener('blur', validatefield);
field.addEventListener('keyup', validatefield);
}
function validatefield() {
var message = this.dataset['validateError'],
sort = this.dataset['errorSort'],
parent = this.parentNode;
if (this.value === '' && (message && sort)) {
errorlog[sort] = error.replace('{error}', message);
parent.className += ' validationerror';
if (!focusin) {
focusin = this;
}
} else if (this.value !== '' && (message && sort)) {
delete errorlog[sort];
parent.className = parent.className.replace('validationerror', '');
if (focusin == this) {
focusin = null;
}
}
if (!submitted) {
isvalid();
}
}
function validateform(event) {
index = 0;
errorlog = [];
focusin = null;
submitted = true;
while (field = fields[index++]) {
callevt(field, 'focus');
callevt(field, 'blur');
}
submitted = false;
if (!isvalid()) {
if (focusin) {
focusin.focus();
}
focusin = null;
event.preventDefault();
return false;
}
}
function isvalid() {
errors.innerHTML = '';
if (errorlog.length) {
errors.innerHTML = errorlog.join('');
return false;
}
return true;
}
function callevt(el, type) {
var evt = document.createEvent('HTMLEvents');
evt.initEvent(type, true, true);
el.dispatchEvent(evt);
}
});