Удар “входит”, не отправляет форму в IE8

Вот реализация Java-задачи.

    package DP;

    import java.util.Arrays;
    import java.util.Comparator;

    public class BuildingBridges {

        public static void main(String[] args) {
            Pair[] A = new Pair[7];
            A[0] = new Pair(22,4);
            A[1] = new Pair(2,6);
            A[2] = new Pair(10,3);
            A[3] = new Pair(15,12);
            A[4] = new Pair(9,8);
            A[5] = new Pair(17,17);
            A[6] = new Pair(4,2);

            System.out.println(lis(A));
        }

        public static int lis(Pair[] A){
            Arrays.sort(A, new Comparator<Pair>() {
                @Override
                public int compare(Pair o1, Pair o2) {
                    return o1.x - o2.x;
                }
            });

            int n = A.length;
            int max = 0;
            int[] dp = new int[n];
            Arrays.fill(dp, 1);

            for(int i=1; i<n; i++){
                for(int j=0; j<i; j++){
                    if(A[i].y > A[j].y){
                        dp[i] = Math.max(dp[i], dp[j]+1);
                    }
                }
                max = Math.max(max, dp[i]);
            }

            return max;
        }

        public static class Pair{
            int x, y;
            public Pair(int x_, int y_){
                x = x_;
                y = y_;
            }
        }

    }
8
задан Fedor 28 May 2014 в 12:16
поделиться

6 ответов

Если это реальная проблема и вы не можете найти другое решение, вы всегда можете выполнить событие onkeypress для формы и проверить, Была нажата клавиша Enter .

РЕДАКТИРОВАТЬ: Вот правильный код в соответствии с ответом машины:

$htmlForm .= ':<form><label>'.$ACL_LANG['USERNAME'].'</label>'.
                                     '<input type="text" name="u" id="u" class="textfield" />'.
                                     '<label>'.$ACL_LANG['PASSWORD'].'</label>'.
                                     '<input type="password" name="p" id="p" class="textfield" />'.
                                     '<center><input type="submit" name="btn" id="btn" class="buttonfield" value="Sign in to extranet" /></center>'.
                                     '</form>';

ИЗМЕНИТЬ 2: Ваш HTML действителен. Попробуйте это :

function checkEnter(e) { //e is event object passed from function invocation
    var characterCode //literal character code will be stored in this variable

    if (e && e.which) { //if which property of event object is supported (NN4)
        e = e
        characterCode = e.which //character code is contained in NN4's which property
    }
    else {
        e = event
        characterCode = e.keyCode //character code is contained in IE's keyCode property
    }

    if (characterCode == 13) { //if generated character code is equal to ascii 13 (if enter key)
        document.forms[0].submit() //submit the form
        return false
    }
    else {
        return true
    }
}
2
ответ дан 5 December 2019 в 05:27
поделиться

Вот ссылка в Microsoft, которая может пролить свет на вас.

Беглое прочтение ссылки может на самом деле считаться ошибкой при отправке формы с помощью клавиши ввода, которая, как я полагаю, была исправлена ​​Microsoft для IE8.

Аномалия IE при использовании клавиши ввода для отправки form

Редактировать:

Теперь это удалено, но есть еще одна ссылка , которая снова закрывает (внизу страницы), которая определяет это и объясняет ошибку в блоге IE 18 декабря 2008 г. .

4
ответ дан 5 December 2019 в 05:27
поделиться

У вас есть тег открывающей формы, который был просто пропущен из фрагмента кода?

3
ответ дан 5 December 2019 в 05:27
поделиться

Атрибут action в элементе form требуется спецификацией HTML. Может, так получится.

1
ответ дан 5 December 2019 в 05:27
поделиться

Также обратите внимание на эту забавную забавную ошибку:

Я на собственном опыте узнал, что если ваша форма display: none при загрузке страницы, даже если вы покажите это позже с помощью Javascript, IE8 по-прежнему не отправляется при входе. Однако, если он не скрыт при загрузке страницы, и вы установите для него display: none после, например, onDOMReady, то он работает! WTF

Подробнее и обходной путь здесь: http://www.thefutureoftheweb.com/blog/submit-a-form-in-ie-with-enter

13
ответ дан 5 December 2019 в 05:27
поделиться

Я также смог воспроизвести это с помощью действия и метода. Удалил весь остальной код на странице, и он все еще создается. Однако я видел, как в IE8 формы работают с action = ""

1
ответ дан 5 December 2019 в 05:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: