Javascript 检查表单的更正条目,当输入错误时,显示div几秒钟
我有两个JS脚本。 一个用于检查表单的更正条目(单击“注册”按钮后): 当某些条目错误时,会显示一条div(警告消息)。我想在一段时间后隐藏此div,例如,使用此JS:Javascript 检查表单的更正条目,当输入错误时,显示div几秒钟,javascript,hide,registration,Javascript,Hide,Registration,我有两个JS脚本。 一个用于检查表单的更正条目(单击“注册”按钮后): 当某些条目错误时,会显示一条div(警告消息)。我想在一段时间后隐藏此div,例如,使用此JS: var timePeriodInMs = 5000; setTimeout(function() { document.getElementById("mydiv").style.display = "none"; }, ti
var timePeriodInMs = 5000;
setTimeout(function()
{
document.getElementById("mydiv").style.display = "none";
},
timePeriodInMs);
我知道在加载第一个时,第二个必须以某种方式一起执行(用户单击按钮),但我不确定如何加入它们。有人能帮忙吗
更新:
注册按钮有这样的代码:
{button id=$formData->getFormId()| cat:“'u submitnewuser'type='image'src='btn'u register.png'set='icons/extrasall'}”
非常感谢。
Martin您的问题可能缺少关键信息,但假设没有,这个答案应该会有所帮助 将第二段代码包装到函数中,然后从处理适当事件的代码调用它。大概是这样的:
Zikula.Users.NewUser.setup = function() {
Zikula.Users.NewUser.formId = '{{$formData->getFormId()}}';
Zikula.Users.NewUser.fieldId = {
submit: '{{$formData->getFormId()}}_submitnewuser',
checkUser: '{{$formData->getFormId()}}_checkuserajax',
checkMessage: '{{$formData->getFormId()}}_checkmessage',
validMessage: '{{$formData->getFormId()}}_validmessage',
userName: '{{$formData->getFieldId('uname')}}',
email: '{{$formData->getFieldId('email')}}',
};
hideErrors();
}
function hideErrors() {
var timePeriodInMs = 5000;
setTimeout(function()
{
document.getElementById("mydiv").style.display = "none";
},
timePeriodInMs);
}
非常感谢。它可以工作,但定义的时间(5s)是在页面加载时计算的,而不是在单击按钮之后。我还发现这个隐藏div的解决方案不是最好的,当有更多这样的div被隐藏时。有没有可能使用一些简单的淡出功能类似或以某种方式减慢这个隐藏功能,请?再次感谢,假设您有处理按钮点击的代码。移动隐藏错误();调用该函数。或改变var时间周期=5000;(5秒)到您喜欢的任何数字(秒*1000)。我不熟悉您使用的语法,但我假设您在某个地方有显示div的代码,对吗?为什么不能在显示div之后立即执行
setTimeout
操作?至于淡出div,有很多方法可以实现这一点。您可以将setInterval
或setTimeout
与递归函数一起使用(并稳步降低div的alpha值),或者使用jQuery函数。
Zikula.Users.NewUser.setup = function() {
Zikula.Users.NewUser.formId = '{{$formData->getFormId()}}';
Zikula.Users.NewUser.fieldId = {
submit: '{{$formData->getFormId()}}_submitnewuser',
checkUser: '{{$formData->getFormId()}}_checkuserajax',
checkMessage: '{{$formData->getFormId()}}_checkmessage',
validMessage: '{{$formData->getFormId()}}_validmessage',
userName: '{{$formData->getFieldId('uname')}}',
email: '{{$formData->getFieldId('email')}}',
};
hideErrors();
}
function hideErrors() {
var timePeriodInMs = 5000;
setTimeout(function()
{
document.getElementById("mydiv").style.display = "none";
},
timePeriodInMs);
}