См. Эту строку:
if (isset($_POST['submitit'])) {
Если пользователь нажимает кнопку submitit
и javascript отключен, все работает должным образом - кнопка вставляет свою пару имя / значение в опубликованные данные непосредственно передформа публикуется, поэтому устанавливается $_POST['submitit']
.
Если, однако, javascript включен, кнопка сама не запускает обратную передачу, вместо этого она вызывает функцию javascript, которая отправляет форму.К сожалению, хотя, когда вы вызываете form.submit()
, он не будет искать кнопки и добавлять их пары имя / значение в опубликованные данные (по разным причинам).Таким образом, вам нужно найти другой способ сказать, обрабатываете ли вы постбэк;Самый простой способ - просто вставить в форму скрытое поле и проверить это, например:
(в части HTML, где-то внутри <form></form>
):
<input type="hidden" name="is_postback" value="1" />
...и затем измените вашу проверку PHP на:
if ($_POST['is_postback'] == '1')