【发布时间】:2014-09-09 11:24:52
【问题描述】:
我正在尝试发送邮件,在 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>
当我尝试运行它时,我得到一个 类型错误:$ 不是函数 var name = $("#txtName").val(); 萤火虫中的脚本错误 谁能帮我解决这个问题。
【问题讨论】:
-
在这段代码之前你有没有引用过jQuery?此外,您不会将值分配给 setter 方法,而是传递它们。我想你的意思是
$('#sending').val("Thank you, message sent")在你的回调函数中。 -
您是否在页面中包含了 jQuery 库或者是否使用了
jQuery.noConflict()? -
@George 是的,我在代码的其他地方使用过 Jquery,后者请忽略。
-
@ArunPJohny 是的,该库已包含在内。
-
@OsmanShareef 我认为错误出在您的 AjaxSuccess 方法中。您使用了 $(#sending.val()=......) 我认为这个引用不正确。您应该使用 $('.sending').val('谢谢,消息已发送'); “发送”是一个类,所以使用 (.) 而不是 #
标签: javascript jquery asp.net ajax