2014-05-18 25 views
-3

我有javascript功能谁检查输入值,如果需要输入注意长度0发送ajax后。多个如果条件在Javascript

function sendEmail(){ 
      var nn = jQuery("#your-name").val().length; 
      var ee = jQuery("#friend-email").val().length; 

      // var n = document.getElementById("your-name").value; 
      // var e = document.getElementById("friend-email").value; 

      if (nn == 0 && ee == 0) { 

       jQuery("input#your-name").css("border", "1px red solid"); 
       jQuery("input#friend-email").css("border", "1px red solid"); 

      } 
      else if (ee == 0) { 

       jQuery("input#friend-email").css("border", "1px red solid"); 

      } 

      else if (nn == 0) { 

       jQuery("input#friend-name").css("border", "1px red solid"); 

      } 
      else { 

       ajax(); 
      } 
} 

一切运作良好,exept:如果邮件设置和名称是为not..Nothing发生(的jQuery( “#输入好友名称”)的CSS( “边界”, “1px的红色实”)。 ;)

这是怎么回事? 在jsfidle中查看完整示例:http://jsfiddle.net/4X2J8/

+3

为什么当你在顶部和第一个if条件中使用'#your-name'时,最后'else if'中的#friend-name? – Mat

+0

你的小提琴的例子是毫无意义的,因为你甚至没有在那里嵌入jQuery ... – CBroe

+0

@Mat因为我需要检查,如果两者:电子邮件和名称输入设置 –

回答

4

您应该将name字段的id:“friend-name”更正为“your-name”。

function sendEmail(){ 
     var nn = jQuery("#your-name").val().length; 
     var ee = jQuery("#friend-email").val().length; 
     // var n = document.getElementById("your-name").value; 
     // var e = document.getElementById("friend-email").value; 
     if (nn == 0 && ee == 0) { 
      jQuery("input#your-name").css("border", "1px red solid"); 
      jQuery("input#friend-email").css("border", "1px red solid"); 
     } 
     else if (ee == 0) { 
      jQuery("input#friend-email").css("border", "1px red solid"); 
     } 
     else if (nn == 0) { 
      jQuery("input#your-name").css("border", "1px red solid"); 
     } 
     else { 
      ajax(); 
     } 
    }