将第二个document.ready块内的代码移动到第一个(这将使您的.tipsy()
呼叫可访问变量a
)或使a
变量为全局变量。
<script type="text/javascript">
$(document).ready(function() {
var a ="Login";
$("#login_form").submit(function() {
var formdata = $("#login_form").serializeArray();
$.ajax({
url: "ajax_login.php",
type: "post",
dataType: "json",
data: formdata,
success: function (data) {
if (data.livre === 'complete') {
a ="success";
} else
a = "Error";
}
});
return false;
});
$('.login_fields input[rel=tipsy]').tipsy({gravity: 'w', trigger: 'manual', fallback: a });
});
</script>
OR
<script type="text/javascript">
var a = "Login";
$(document).ready(function() {
$("#login_form").submit(function() {
var formdata = $("#login_form").serializeArray();
$.ajax({
url: "ajax_login.php",
type: "post",
dataType: "json",
data: formdata,
success: function (data) {
if (data.livre === 'complete') {
a ="success";
} else
a = "Error";
}
});
return false;
});
});
</script>
<script type='text/javascript'>
$(document).ready(function() {
$('.login_fields input[rel=tipsy]').tipsy({gravity: 'w', trigger: 'manual', fallback: a }); // a is not defined
});
</script>
通知我删除从您的AJAX调用成功回调var
声明。
UPDATE
要传递的a
更新值醉意,你需要运行在回调函数的调用.tipsy()
。你也可以运行它,你现在的样子,并在回调函数更新的醉意的插件(但是我不熟悉的插件,我不知道如何做到这一点):
<script type="text/javascript">
$(document).ready(function() {
var a ="Login";
$("#login_form").submit(function() {
var formdata = $("#login_form").serializeArray();
$.ajax({
url: "ajax_login.php",
type: "post",
dataType: "json",
data: formdata,
success: function (data) {
if (data.livre === 'complete') {
a ="success";
} else {
a = "Error";
}
$('.login_fields input[rel=tipsy]').tipsy({gravity: 'w', trigger: 'manual', fallback: a });
}
});
return false;
});
});
</script>
我会用动态内容和淡入淡出来做一个简单的css工具提示。保持简单,并解决。谢谢 – Daniel