获取TypeError:$不是函数脚本错误

时间:2014-09-09 11:24:53

标签: javascript jquery asp.net ajax

我正在尝试使用html中的asp.net中的web服务发送邮件,并通过jquery ajax函数发送信息。 html表格如下。

<div class="col-md-6">
<h2>DROP ME A LINE</h2>                          
<!-- contact from -->
<form class="form" id="form" >
<input type="text" name="name" id="name" placeholder="Name" required/>
<input type="text" name="email" id="email" placeholder="Email" required/>
<textarea name="message" id="message" placeholder="Message" rows="8" ></textarea>
<input type="button" class="mt-button medium outline" name="submit" id="submit" value="Send Message" onclick="javascript: SendMail();">
                            </form> 
                                        <span class="sending">
                                            sending...
                                        </span>
                                        <div class="mess center">
                                        </div>  
                            <!-- contact from end-->
                        </div>

和javascript函数如下

<script type="text/javascript">


                function SendMail() {
                    var domain = location.host;
                    var serviceurl = location.protocol + "//" + domain + "/wp-content/themes/me_wp/mail/SendMail.asmx/SendUserMail";

                    var name = $("#name").val();
                    var fromMailId = $("#email").val();
                    var message = $("#message").val();


                    $.ajax({
                        url: serviceurl,
                        data: "{ 'name': '" + name + "','fromMailId': '" + fromMailId + "','message': '" + message + "' }",
                        dataType: "json",
                        type: "POST",
                        contentType: "application/json; charset=utf-8",
                        success: AjaxSuccess,
                        error: function (xmlHttpRequest, textStatus, errorThrown) {
                            alert(textStatus);
                            alert(errorThrown);
                        }
                    });
                }

function AjaxSuccess(response) {
    var result = response.d;
if(result ==true)
{
$('#sending').val("Thank you, message sent");
alert('mail sent');
}
}   
</div>
</div> 
</div>

当我尝试运行时,我得到一个 TypeError:$不是函数     var name = $(&#34; #txtName&#34;)。val(); firebug中的脚本错误 任何人都可以帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

验证在$或jQuery调用之前是否已加载jQuery库。您使用的是哪个版本的库以及您使用的浏览器和版本?请记住,有两个不同的版本(jQuery 1和2)。

你的问题是“我得到一个TypeError:$不是函数var name = $(”#txtName“)。val();脚本错误”,但是在你发布的代码中,你没有有这样的表现。你可以发布更多或全部代码吗?需要验证jQuery库的位置,还要查看$(“#txtName”)。val();来自......