gpt4 book ai didi

javascript - 如何协调基于表单字段检查的Javascript方法调用?

转载 作者:行者123 更新时间:2023-11-28 07:23:40 25 4
gpt4 key购买 nike

下面的代码中,如何同步调用do_something()基于成功的 addLoadEvent(check_email) ?将它包围在if() {} 不起作用。我需要使用 Event/EventListener 吗?如果是这样,怎么办?

index.html:

<!DOCTYPE html >
<html>
<head>
<script type="text/javascript" src="foo.js"></script>
</head>

...
<form action="#">

<label for="email">Enter email address <img src="email.gif" alt="" /></label>
<input class="email_class" id="email" value="" />

...
<input type="submit" value="Submit">
</form>
</html>

foo.js:

function check_email()
{
in_Forms = document.getElementsByTagName("form");
for (var i = 0; i < in_Forms.length; i++)
{
in_Forms[i].onsubmit = function ()
{
return check_this_email(this);
}
}
}

function check_this_email(some_email) {
var ret_val = false;
var in_Inputs;

in_Inputs = some_email.getElementsByTagName("input");
for (var i = 0; i < in_Inputs.length; i++) {
if (in_Inputs[i].className == "email_class")
{
if (bad_email_check ...)
{
ret_val = true;
alert('enter valid email');
}
}
}
return ret_val;
}

function addLoadEvent(some_function)
{
var oldonload = window.onload;
if (typeof window.onload != 'function')
{
window.onload = some_function;
}
else
{
window.onload = function()
{
oldonload();
some_function();
}
}
}

addLoadEvent(check_email);

if (email_address_correctly_entered){
do_something();
}

最佳答案

试试这个:

in_Inputs = some_email.getElementsByTagName("input");

var model = {
index: 0,
ret_val: false
}

function check_this_email(in_Inputs, model) {

if(model.index > in_Inputs.length){
return model.ret_val;
}

bad_email_check(in_Inputs, model, check_this_email);
}


function bad_email_check(in_Inputs, index, callback){
//check email in_Inputs[model.index]
//if valid email model.ret_val = true
model.index++
if(model.ret_val){
do_something(callback, in_Inputs, model);
}
else{
callback(in_Inputs, model);
}
}

function do_something(callback, in_Inputs, model){
//do something

callback(in_Inputs, model);
}

jsfiddle 上的工作示例:https://jsfiddle.net/d81wmm61/

关于javascript - 如何协调基于表单字段检查的Javascript方法调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29998777/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com