jQuery未捕获的异常错误

时间:2014-01-18 05:49:26

标签: javascript jquery

要检查电子邮件地址是否来自gmail,我尝试了以下jQuery代码,但我得到了Uncaught TypeError: Cannot call method 'indexOf' of undefined

CODE

$( document ).ready(function() {
  $("#sendit").click(
   function() {
      var str1 = $("#email").value;
      var str2 = "gmail.com";
      if(str1.indexOf(str2) != -1){
        alert("found");
      }
   });
});

我的语法有错误吗?

4 个答案:

答案 0 :(得分:1)

应该是

var str1 = $("#email").val();

$("#email")返回一个jQuery包装器对象,它没有value属性,它属于dom元素。 jQuery对象有一个返回值的方法val()

答案 1 :(得分:1)

DEMO

调用val()方法。

var str1 = $("#email").val(); 

可能是你是jQuery Conflict的受害者。看看这个新小提琴中的代码是否适合你。

UPDATED FIDDLE

答案 2 :(得分:0)

您应该使用val()代替value

更改

var str1 = $("#email").value;

var str1 = $("#email").val();

答案 3 :(得分:0)

应该使用val()而不是值

var str1 = $("#email").val()