0

我的 JavaScript 很弱。实际上我使用两个函数作为onclick:

onClick="check('owfy_email','owfy_email2'); return checkval() ;"

check(a,b)功能是检查电子邮件地址和验证电子邮件地址字段是否具有相同checkval()的值,同时功能查找其他错误

对于函数check(a,b),我使用如下代码:

<script type="text/javascript">
function check(a,b) {
var obja = document.getElementById(a)
var objb = document.getElementById(b)
if (obja.value==objb.value) {}
else {alert("The e-mail fields aren't the same!!")}
}
</script>

如果字段值不匹配,则弹出错误消息。

但是会发生什么,在弹出消息之后执行下一个函数并将流程形成到下一页。而我希望如果弹出消息出现,那么用户可能有机会再次输入电子邮件,并且表单可能仅在两个电子邮件字段相同时处理

注意:我无法访问checkval()功能,但可以轻松更新check(a,,b)功能。

4

3 回答 3

1

你需要从你的 checkval() 函数中返回 false 或者像这样在最后返回它:

onClick="check('owfy_email','owfy_email2'); return checkval(); return false;"
于 2012-08-04T18:00:15.180 回答
1

当验证失败时,使第一个函数(检查)返回 false。在 onclick 事件中,执行此操作,

onclick="if(check('owfy_email','owfy_email2')){checkVal()};"
于 2015-07-31T07:04:41.843 回答
0

作为 Troys ans 的替代品。我认为你应该check()稍微修改你的函数
并在checkval()函数内调用check()函数

function check(a,b) {
var obja = document.getElementById(a)
var objb = document.getElementById(b)

//so modify the function so that
if(some_value)
{
//call the checkval() function
var r = checkval();
//check the return type of the checkval() function
if(r){return true;}
else
return false;
}

if (obja.value==objb.value) {}
else {
alert("The e-mail fields aren't the same!!");
}
}
于 2012-08-04T18:15:01.653 回答