我有自定义模块,工作正常。如果登录成功,则用户停留在同一页面中,如果登录不成功,则用户将保持在同一页面中。现在我想不重新加载页面,如果用户登录不成功,则无法识别用户名或密码。
有人可以帮助我吗?
当页面转到current_path()
时,我可以添加j:
drupal_add_js('jQuery(document).ready(function () { alert("Hello!"); });', 'inline');
不起作用。
这是我的代码:
function redirect_after_login_user_login(&$edit, $account) {
if (!isset($_POST['form_id']) || $_POST['form_id'] != 'user_pass_reset') {
if (in_array('authenticated user', $account->roles)) {
drupal_add_js('http://js.hs-scripts.com/2851839.js', 'external');
drupal_goto(current_path());
}
}
}
function redirect_after_login_form_alter(&$form, $form_state, $form_id) {
switch ($form_id) {
case 'user_login_block':
$form['#validate'][] = 'my_custom_login_val';
break;
default:
break;
}
}
function my_custom_login_val($form, &$form_state) {
$form = form_get_error($form['name']) . form_get_error($form['pass']);
if($form != '') {
$_GET['destination'] = current_path();
drupal_goto(current_path());
drupal_add_js('
jQuery(document).ready(function () {
alert("Hello!");
});', 'inline');
}
}
}