ColdFusion: HTML <Button>тег устанавливает значение области FORM по-разному в IE 11 по сравнению с другими браузерами - PullRequest
0 голосов
/ 04 сентября 2018

В следующем примере кода ...


<CFOUTPUT>

    <cfdump var=#FORM#> 

    <FORM NAME="LAYOUTFORM" ACTION="" id="TEST_FORM" METHOD=POST>

        <BR> <BR> <BR> 

        <div class="div">
            <button  type="submit" form="TEST_FORM" name="test" type="submit" value="BUTTON-VALUE" >  THIS IS NOT THE VALUE YOU WERE HOPING FOR</button>
        </div>
    </FORM>

</CFOUTPUT>

После нажатия на кнопку и отправки запроса на публикацию ...
В Google Chrome , Mozilla Firefox и Microsoft Edge Я получил ожидаемый результат после выгрузки области FORM

[FieldNames | Test] 
[Test       | Button-Value]

После отправки нажмите Internet Explorer 11 Я получил другие результаты

[FieldNames | Test                                      ] 
[Test       | THIS IS NOT THE VALUE YOU WERE HOPING FOR ]

Похоже, что вместо использования value IE 11 передает то, что находится между <BUTTON> тегами

Я нашел заметку на https://www.w3schools.com/TAGS/att_button_value.asp

Примечание: если вы используете элемент в форме HTML, Интернет Explorer, предыдущая версия 8, отправит текст между и теги, в то время как другие браузеры будут отправлять контент атрибута значения.

Это похоже на то же поведение, но я использую IE 11 ....
Я также попробовал пример try-me, и правильные значения передаются с помощью кнопки при отправке на action_page.php


  1. Кто-нибудь может понять, почему IE-11 представляет, как будто это IE-8, если целевая страница ColdFusion? (Я не касался настроек совместимости IE)

  2. Существуют ли иные решения, кроме того, чтобы сделать value таким же, как между тегами <Button>?

1 Ответ

0 голосов
/ 05 сентября 2018
  1. Это может быть заголовок X-UA-Compatible. Или IE действует напуганно, основываясь на том, что видит на странице.

  2. Вместо использования button для передачи переменной формы используйте <input type="hidden" name="abc" value="xyz">. Кнопки сделаны для выполнения действий. Входы сделаны для хранения значений.

...