我是javascript的新手,这让我很困惑。我没有写这段代码,但我需要它才能工作!
问题是我的<p>
标记中没有显示信息。在我到达var hint_result
之前,一切似乎都有效。但我只是不知道为什么信息没有显示。试着爱javascript但苦苦挣扎:)
它应该显示密码提示。
这是发回的内容的一个例子:
{"CONDITION":"true","MESSAGE":"top of the fruit","UUID":"1851-CCC6-A8A80A1B148637C6"}
代码:
<!--- Password Hint Window Start --->
<div class="password_hint">
<p>Forgot your password?<br />No problem... we can fix that!</p>
<div class="hint_form">
<p>Enter your email address</p>
<form method="post">
<input placeholder="Email_address" name="password_hint_email_address" type="text" tabindex="1" />
<p class="button small passwordHint" style="width: 100%; margin: 1px 0 10px;" tabindex="2" >Submit</p>
</form>
</div>
<!--- Error Messages --->
<p class="hint_result"></p>
</div>
(function() {
$("p.button.small.passwordHint").click(function(e) {
e.preventDefault();
$.ajax({
type: "POST",
url: globalURL+"/myfolder/userlogin.cfc?" + url_params,
data: {
method: "PasswordHint",
email: $("input[name='password_hint_email_address']").val()
},
success: function(hint) {
var hint = jQuery.parseJSON(hint);
if (hint.CONDITION == true) {
var hint_result = $("p.hint_result").html("Your password hint is \"" + hint.MESSAGE + "\"").addClass(" messageSuccess");
$(hint_result).show("slow");
} else if (hint.CONDITION == false) {
var hint_result = $("p.hint_result").html(hint.MESSAGE).addClass(" messageError");
$(hint_result).show("slow");
}
},
error: function(e) {
// handle error
//alert("Sorry there has been an error");
}
});
});
}());
提前致谢。
答案 0 :(得分:0)
您的代码<script>
您应该尝试使用此标记来填写您的代码。
答案 1 :(得分:0)
看起来问题在于这一行:
$(hint_result).show("slow");
将hint_result设置为jQuery对象之前的行(addClass返回一个jQuery对象):
var hint_result = $("p.hint_result").html("Your password hint is \"" + hint.MESSAGE + "\"").addClass(" messageSuccess");
因此,您可以简单地删除hint_result周围的选择器语法。你的固定线看起来像这样:
hint_result.show("slow");
选择器语法$(&#34; ...&#34;)实际上是从DOM元素创建一个jQuery对象,但是hint_result已经是一个jQuery对象。