2015-02-10 25 views
-1

我不知道爲什麼執行,但與此代碼:之前我改變什麼jQuery的變化()當重裝

$(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"); 
      } 
     } 
    }); 

函數執行,如果我嘗試用點擊()事件就發生一模一樣的。我只是想用最簡單的驗證方式來改變背景顏色,以便根據我的意願更改錯誤。

<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> 
+2

刪除括號$(「#errorTitle」)。change(getErrors); – Balachandran 2015-02-10 15:14:32

回答

0

它需要

$("#errorTitle").change(getErrors); 

添加()的功能將立刻執行它(用於返回例如值)

var something = getSomethingBack(); // calls function 
var something = getSomethingBack; // assigns function to variable 
1
$("#errorTitle").change(getErrors()); 

你調用getErrors並將結果傳遞給.change。由於getErrors()返回任何這段代碼等同於:

getErrors(); 
$("#errorTitle").change(undefined); 

你可能打算:

$("#errorTitle").change(getErrors); // no() 
0

您需要設置一個功能經理變動事件是這樣的:

<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);