【发布时间】:2013-05-13 19:13:25
【问题描述】:
我在新波士顿 youtube 频道上开始了 phpAcademy 制作的 jQuery 教程。 我到了必须创建电子邮件验证表单的部分,但是,我没有使用 PHP,我在本教程中使用 ASP.net。
所以,问题是即使我按照教程中的说明做了所有事情,但当我想从 .aspx 页面检索变量时,我无法使用 $.post 将任何变量发送到 .aspx 页面,它会检索我整个源代码。
主页源代码:
<input type="text" id="email" /> <span id="emailfeed"></span>
带有 jQuery 代码的 Javascript 文件:
function validate_email(email) {
$.post('email.aspx', { email: email }, function (data) {
$('#emailfeed').text(data);
});
}
$('#email').focusin(function () {
if ($('#email').val() === '') {
$('#emailfeed').text('Enter your email here');
} else {
validate_email($('#email').val());
}
}).blur(function () {
$('#emailfeed').text('');
}).keyup(function () {
validate_email($('#email').val());
});
email.aspx.cs 代码:
protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack)
{
string email = Request.Form["email"];
emailLabel.Text = email;// HTTP Post
}
}
此代码的作用是将我在字段中键入的所有内容发送到 email.aspx,然后检索到达 email.aspx 的内容并将其显示在跨度标记“emailfeed”中。 所以基本上,我在电子邮件字段中写的内容应该显示在跨度标签之间......但这不会发生,相反,我得到了这个:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>
</title></head>
<body>
<form method="post" action="email.aspx" id="form1">
<div class="aspNetHidden">
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="6/oBNs2tFeYkrpkFpDL724BXcQwQ8axaBMe/+VEr/27lNqbjE1FyzyK6Zrl2TCcvjgfkv01vyV3PXehcal8bJZdEfpf4v5KkxQTelnzKhlM=" />
</div>
<div>
<span id="emailLabel"></span>
</div>
</form>
</body>
</html>
所以基本上这是 email.aspx 的源代码,而不是我实际输入的内容。
我该如何解决这个问题?
【问题讨论】:
-
我还想提一下,我知道现在这个验证可以通过 HTML5 轻松完成,但我只是想弄清楚为什么这不起作用。 $.get 也对我不起作用,所以我想弄清楚是因为我做错了什么还是我错过了什么。
标签: javascript jquery asp.net email-validation .post