Javascript 获取TypeError:$不是函数脚本错误
我正在尝试发送邮件,在asp.net中使用html格式的web服务,并通过jquery ajax函数发送信息。 html表单如下所示Javascript 获取TypeError:$不是函数脚本错误,javascript,jquery,asp.net,ajax,Javascript,Jquery,Asp.net,Ajax,我正在尝试发送邮件,在asp.net中使用html格式的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=
<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);
}
});
}
函数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,
数据:“{'name':'“+name+”,'frommaild':'“+frommaild+”,'message':'“+message+”}”,
数据类型:“json”,
类型:“POST”,
contentType:“应用程序/json;字符集=utf-8”,
成功:AjaxSuccess,
错误:函数(xmlHttpRequest、textStatus、errorshown){
警报(文本状态);
警报(错误抛出);
}
});
}
函数AjaxSuccess(响应){
var结果=响应d;
如果(结果==真)
{
$('#sending').val(“谢谢,已发送邮件”);
警报(“已发送邮件”);
}
}
当我试着运行这个时,我得到了一个
TypeError:$不是函数
var name=$(“#txtName”).val();
firebug中的脚本错误
任何人都可以帮我解决这个问题。在调用$或jQuery之前,请验证是否已加载jQuery库。您正在使用哪个版本的库以及您正在使用的浏览器和版本?请记住有两个不同的版本(jQuery1和2)
您的问题是“我得到了一个TypeError:$不是一个函数var name=$(“#txtName”).val();script error”,但在您发布的代码中,并没有显示这一点。您可以发布更多或全部代码吗?需要验证jQuery库的位置,但还要查看$(“#txtName”).val()的位置;来自…您是否在该代码之前引用了jQuery?另外,您不给setter方法赋值,而是传递它们。我想你是指回调函数中的
$('#sending').val(“谢谢你,消息已发送”)
。你的页面中是否包含了jQuery库,或者是否使用了jQuery.noConflict()
?@George是的,我在代码中的其他地方使用了jQuery,请忽略后者。@ArunPJohny是的,该库已包含在内。@OsmanShareef我认为错误在您的AjaxSuccess方法中。您使用了$(#sending.val()=……)我认为此引用不正确。您应该使用$('.sending').val('Thank You,message sent');“sending”是一个类,所以使用(.)not#这不是评论部分。如果你想评论,它本身就是矛盾的。回答几个问题。获得排名,然后继续评论。:)
function AjaxSuccess(response) {
var result = response.d;
if(result ==true)
{
$('#sending').val("Thank you, message sent");
alert('mail sent');
}
}
</div>
</div>
</div>