2 番目の 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>
また
<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 呼び出しの成功コールバックから宣言を削除したことに注意してください。
アップデート
の更新された値をtipsyに渡すには、コールバック関数で呼び出し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>