Либо переместите код во втором блоке document.ready в первый (что сделает переменную a
доступной для вашего вызова .tipsy()
), либо сделайте переменную 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>
Обратите внимание, что я удалил объявление var
из обратного вызова об успешном завершении вашего AJAX-вызова.
UPDATE
Чтобы передать обновленное значение a
типу, вам нужно выполнить вызов .tipsy()
в функции обратного вызова. Вы также можете запустить его как есть и обновить плагин tipy в функции обратного вызова (однако я не знаком с плагином и не знаю, как это сделать):
<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>