Firefox над IE форма не представлена правильно

0

Итак, вот моя проблема. У меня есть следующая форма:

<form name="picture_categories" action="scripts/catalog.php" method="post">
            <input class="visibleForm" onclick="return false;" type="image" src="images/smartphones.png"/>
            <label for="smartphones">Smartphones</label>
            <input type="hidden" name="device" value="smartphones" />
            <div class="hiddenForm" style="display:none">
                <input src="images/logos/apple-logo.png" type="image" name="manuf" value="APPLE" />
                <input src="images/logos/samsung-logo.png" type="image" name="manuf" value="Samsung" />
                <input src="images/logos/blackberry-logo.png" type="image" name="manuf" value="Blackberry" />
                <!-- <input src="images/logos/htc_logo.png" type="image" name="manuf" value="HTC" /> add to catalog first-->
                <input src="images/logos/lg-logo.png" type="image" name="manuf" value="LG" />
            </div>
    </form>

Предположительно, когда я нажимаю на один из входов [name = 'manuf'], он передает свое значение вместе со значением скрытого ввода ("устройство") на следующую страницу. Теперь следующая страница имеет следующий скрипт:

<?php session_start(); ?>
<?php
    if(isset($_POST['device'])) {
        $_SESSION['device'] = $_POST['device'];
        }
    if (isset($_POST['manuf'])) {
        $_SESSION['manuf'] = $_POST['manuf'];
        }

        header ("Location: ../display_catalog.php");
?>

И последняя страница - display_catalog.php использует данные $ _SESSION для отображения связанной части каталога.

Код работает отлично в Chrome; Однако:

  • В Firefox каким-то образом игнорирует переменную $ _SESSION ['manuf']. Поэтому он правильно сортирует мой каталог с помощью $ _SESSION ['device'], но не хочет сортировать его по имени производителя.
  • В IE он полностью игнорирует обе переменные $ _SESSION.

Что может быть здесь?

Теги:
session

1 ответ

1
Лучший ответ

Это потому, что кнопки ввода изображения типа несут координату x, y кнопки, а не значение (кнопка используется для того, чтобы сделать действие изображения как submit). Его поведение очень зависит от браузера, поэтому вы видите, что он работает по-разному в браузерах.

Если вы хотите настроить изображения и правильно создать кнопку отправки, вы можете использовать элемент <button> и создать его с помощью свойства фона CSS или непосредственно установить элемент img:

Что-то вроде:

<button type="submit" name="manuf" value="apple"><img src="apple-image.png"></button>
<button type="submit" name="manuf" value="samsung"><img src="somsung-image.png"></button>
  • 0
    Спасибо. Работает как шарм сейчас.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню