JS var 声明 - 由于变量保持相同值的函数问题而导致错误的验证
JS var declaring - Wrong validation due to function problem with variable holding same value
我正在对表单"文本输入"进行验证。如果用户将输入留空,则函数开始运行。如果字段大于 1 - 则它不会进入函数。
问题是:第一次,用户将输入留空,函数运行,我收到警报 - 没关系。第二次,用户在 AGE 输入中添加了 10 - 他再次收到警报 - 但他不应该。
注意:年龄输入值,从不同的函数 (calc) 返回到称为:结果的变量。
这是代码:
$(document).ready(function(){
$('#btn_send').click(function(){
//var result gets the value ffrom another function of input "Age" value. -> return thisform.Age.value
var result = calc(document.getElementById("campaignform"));
if (result<1)
{
$("#campaignform").submit(function(event) {
event.preventDefault(); alert ("prevent default");
});
}
else{
return true;
};
});
});
因此,如果您第二次尝试单击提交,则进入 $('#btn_send').click(function(),即使您在 AGE(返回结果)输入中添加了例如 67,您也会进入 IF 属性,即:if (result<1)
我对开发很陌生,所以我希望你能理解我。对不起,如果我有错误。你能建议这个问题的标题是什么更好的吗?
提前感谢,晒
$("#campaignform").submit(function(event) {
将事件处理程序添加到窗体,以便将来每次提交该处理程序时,都会调用该函数。您永远不会再次删除该事件处理程序,因此即使在更正字段后,每次提交时仍会调用默认阻止函数。
jQuery 事件处理程序可以使用 unbind 方法删除,但通常最好避免大量添加和删除处理程序。更简单 - 也更可靠,因为捕获按钮单击可能无法拾取所有表单提交 - 是在静态submit
事件处理程序中执行所有操作,例如:
$('#campaignform').submit(function(ev){
var result= calc(this);
if (result<1) {
ev.preventDefault();
alert('prevent default');
}
});
相关文章:
- Javascript时间函数问题
- Javascript Array 的求和函数问题
- Jshint:循环中的匿名函数(问题)
- WordPress FAQ 手风琴自定义帖子类型 - 匿名函数问题.
- JavaScript 中的滚动函数问题
- Google JS API: gapi.auth.signIn 回调函数问题
- Javascript onclick 函数问题
- Javascript中的循环和函数问题
- 达到 10 次摘要迭代,中止(作用域函数问题)
- 洛达什 _.合并函数问题
- jQuery .unload() 函数问题,仅在单击特定链接时激活
- 回调函数问题
- Javascript语法函数问题
- Ajax 完整函数问题
- TypeError getElementsByTagName不是函数问题
- Jquery自定义函数问题
- angularjs编译指令中的函数问题
- JQuery-JNotify-点击函数问题
- Node Js中的回调函数问题
- javascript中的ie8拆分函数问题