окно.местоположение не работает во второй раз

#javascript #php

#javascript #php

Вопрос:

Я использую следующий код в форме с капчей. Если captcha верна, то $success = 1 , else $success=2 . Если captcha не заполнена, то $success=1 .

id=validation упоминается с помощью captcha, которая находится в самом низу страницы, и id=success упоминается с помощью элемента div, который находится в самом верху страницы.

Проблема :

Первый тест :
1) captcha верен -> нажмите отправить -> страница переходит в начало

Второй тест :
1) капча неверна или не заполнена -> нажмите отправить -> страница переходит в низ
2) капча верна -> нажмите ввести -> страница остается внизу (тогда как она должна идти наверх)

Java Script :

 var myVariable = <?php echo(json_encode($success)); ?>;
if (myVariable == 2) {
    window.location = ("" window.location).replace(/#[A-Za-z0-9_]*$/,'') "#validation"
};
if (myVariable == 3) {
    window.location = ("" window.location).replace(/#[A-Za-z0-9_]*$/,'') "#validation"
};
if (myVariable == 1) {
    window.location = ("" window.location).replace(/#[A-Za-z0-9_]*$/,'') "#success"
};
  

Комментарии:

1. попробуйте window.location.href .

2. вы зафиксировали событие кнопки ввода? получаете ли вы запрос при нажатии кнопки ввода

Ответ №1:

Попробуйте это:

 <script type='text/javascript'>
var myVariable = <?php echo(json_encode($success)); ?>;
if (myVariable == 2 || myVariable == 3) {
window.location.href = ("" window.location.href).replace(/#[A-Za-z0-9_]*$/,'') "#validation"
};
if (myVariable == 1) {
window.location.href = ("" window.location.href).replace(/#[A-Za-z0-9_]*$/,'') "#success"
};
</script>
  

Я изменил окно.расположение в окне.Расположение.href и получил тот же результат в одном операторе if.