У меня есть форма в div вкладки jQuery, которая загружается с AJAX:
<div id="tabs-2">
<form id="frmLogin" name="frmLogin" class="cmxform" method="post" action="actions/login.php">
<p>
<label>Username</label>
<input type="text" id="username" name="username" maxlength="30" />
</p>
<div class="clear"></div>
<p>
<label>Password</label>
<input type="password" id="password" name="password" maxlength="40" />
</p>
<p>
<input class="submit" type="submit" id="submit" value="Login" />
</p>
<div class="clear"></div>
</form>
</div>
Форма отправляется в указанный файл PHP. Этот .js
файл с использованием плагинов jQuery формы и проверки отправляет форму через AJAX. PHP-файл возвращает данные JSON:
$(document).ready(function() {
$("#frmLogin").validate({
rules: {
username: {
required: true,
minlength: 6
},
password: {
required: true,
minlength: 6
},
},
submitHandler: function(form) {
$("#frmLogin").ajaxSubmit({
dataType: 'json',
success: processLogin,
})
}
});
function processLogin(data) {
if (data.un) {
$("div#tabs-2").slideUp(function() {
$("li#login").html('<a href="ajax/loggedin.html">Welcome, '+data.fn+'</a>');
});
} else {
alert("uh-oh");
}
}
});
Это все отлично работает. У меня есть ссылка, которая ранее гласила «Войти», чтобы прочитать приветственное сообщение. Теперь я хочу заменить содержимое этой вкладки (форму входа) на ul пользовательских опций.
Проблема: ссылка с приветственным сообщением больше не работает как вкладка. При нажатии он направляет браузер к «ajax / loggedin.html.»
Я попытался перезапустить функцию tabs в файле "loggedin.html" и вызвать ее в функции processLogin в "login.js". Моя следующая попытка исправления будет состоять в том, чтобы изменить html-содержимое div-объекта tabs-2 в функции processLogin, но похоже, что это сгенерирует много неуклюжего кода.
Какие-либо предложения по предотвращению отключения поведения вкладки?