jQuery change()在重新加载时执行
jQuery change() executes when reload
我不知道为什么,但有了这个代码:
$(document).ready(function(){
$("#errorTitle").change(getErrors());
function getErrors(){
console.log($(".nombre").val()+"/"+$(".email").val());
if($("#nombre").val() === "" || $("#nombre").val() === "undefined"){
$("#nombre").addClass("error");
}else{
$("#nombre").removeClass("error");
}
if($("#email").val() !== "" && $("#email").val() !== "undefined"){
$("#email").removeClass("error")
}else{
$("#email").addClass("error");
}
}
});
该函数在我更改任何内容之前执行,如果我尝试使用click()事件,它也会发生完全相同的情况。我只是想用最简单的验证方法来更改背景颜色,以根据我的意愿更改错误。
<form action="index.php" method="post" id="contact">
<div class="form-group">
<label for="exampleInputEmail1">Nombre*</label>
<input type="text" class="form-control" id="nombre" name="NAME" placeholder="Nombre y Apellidos">
</div>
<div class="form-group">
<label for="email">Email*</label>
<input type="email" class="form-control" id="email" name="EMAIL" placeholder="@">
</div>
<div class="checkbox">
<label>
<input type="checkbox" name="aviso_legal"> <p>He leído y acepto la <a class="fancybox fancybox.iframe" href="../politica_es.html">política de privacidad</a></p>
</label>
</div>
<p id="errorTitle"><?=$error?></p>
<button type="submit" class="enviar">ENVIAR</button>
</form>
$("#errorTitle").change(getErrors());
您正在调用getErrors
并将结果传递给.change
。由于getErrors()
不返回任何内容,因此此代码等效于:
getErrors();
$("#errorTitle").change(undefined);
您可能有意:
$("#errorTitle").change(getErrors); // no ()
它需要是
$("#errorTitle").change(getErrors);
将()
添加到函数将立即执行(例如用于返回值)
var something = getSomethingBack(); // calls function
var something = getSomethingBack; // assigns function to variable
您需要设置一个函数来处理更改事件,如下所示:
<script type="text/javascript">
$(document).ready(function(){
$("#errorTitle").change(function(){getErrors();});
}
function getErrors(){
console.log($(".nombre").val()+"/"+$(".email").val());
if($("#nombre").val() === "" || $("#nombre").val() === "undefined"){
$("#nombre").addClass("error");
}else{
$("#nombre").removeClass("error");
}
if($("#email").val() !== "" && $("#email").val() !== "undefined"){
$("#email").removeClass("error")
}else{
$("#email").addClass("error");
}
}
</script>
您的代码正在对每个$(document).ready
函数中的函数进行排序。您也可以将$("#errorTitle").change(getErrors());
更改为$("#errorTitle").change(getErrors);
相关文章:
- 无法在通过jQuery的ajax加载的页面中执行javascript
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- 如何在从浏览缓存加载页面时执行javascript
- Jquery:代码在rails中的页面加载时未执行
- 如何准确执行加载脚本&退出弹出窗口
- 页面在我的javascript执行后重新加载,我不希望它这样做
- 加载服务器端渲染的React组件后执行脚本
- jQuery-在页面加载时执行一个函数
- ajax加载了内容,脚本没有执行
- 如何在加载完整页面后严格执行javascript代码
- 在动态加载的对话框中执行Javascript
- Dojo AMD加载程序执行定义具有空/缺失依赖项的回调
- 通过AJAX加载页面并执行javascript和CSS
- 返回上一页,不加载执行正文
- 谷歌自定义搜索 - 从网址参数手动加载/执行
- jquery文档就绪侦听器与图像加载;执行顺序
- 发现jsphp加载/执行问题
- jQuery ready()是否在所有JS文件加载/执行后触发
- 如何在加载/执行页面的任何其他脚本之前将Javascript注入/执行到页面中
- 在视图页面加载执行控制器功能,angularjs方式