На JSFiddle из-за стороннего домена не выводится ссылка на скрипт, потому вылил на свой левый хостинг.
Имеется страничка:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form action='3.php' method='post' id='myform' onsubmit="func();">
<input type='text' required="" name='text'>
<input name='testname' type='checkbox'><label for='testname'>Go to 4 php?</label>
<input type='submit' onclick='func();'>
</form>
function func(){
var txt=$('[name=text]').val();
var chbx=$('[name=testname]').val();
if(chbx=='on')
{
$("#myform").submit(function(){
$.ajax({
type: "POST",
url: '/3.php',
data: {
txt: txt,
chbx: chbx
},
success: function(){
location.href='4.php';
}
});
});
}
else
{
$("#myform").submit();
}
}
Ну 3.php и 4.php выкладывать не буду. там просто 3.php пишет в файл POST данные, а 4 - выводит из него данные на страницу.
Смысл сего действия - если человек поставил чекбокс, то его перенаправляет на 4.php перед этим отправив данные на 3.php/
а если чекбокс не стоит, то отправляется на 3.php как при обычном поведении формы.
Залил я это дело
сюда .
Так вот - бывает что при нажатом чекбоксе отправляет на 3.php, бывает на 4. Вообще полный рандом, но чаще на 4.php.
Вроде условие проверки значения чекбокса стоит верное - делал алерт, проверял значение.
Почему скрипт ведет себя так странно? Или я где-то ошибся?