Проблема с автозаполнением в ie

  • Автор темы Автор темы esomkin
  • Дата начала Дата начала

esomkin

Новичок
Доброго времени суток!

Есть форма и фрейм с такой же точно формой. Из внешней формы берется значение текстового поля и подставляется в текстовое поле во фрейме, после этого форма во фрейме сабмитится. В Mozilla Firefox и Google Chrome после такогого успешного действа при вводе похожей строки во внешнюю форму появляется строка автозаполнения, в IE такого не происходит. Причем, если просто отправить форму из фрейма в IE, то автозаполнение срабатывает.

Не могли бы Вы объяснить почему такое просходит (а точнее не происходит).

Код для размышлений

PHP:
<?php if (!isset($_GET['inner'])) { ?>
<html>
        <head>
                <script type="text/javascript" src="js/jquery-1.7.min.js"></script>
                <script type="text/javascript">
                
                        function send() {

                                $('iframe#myFrame').contents().find('input[name="name"]').val( $('input[name="name"]').val() );
                                $('iframe#myFrame').contents().find('input[name="send"]').click();
                                //$('iframe#myFrame').contents().find('form').submit();
                        }        
                
                </script>
        </head>
        <body>
                <form action="test.php" method="POST">
                        <input type="text" name="name">
                </form>
                <input type="button" value="Сабмитим форму во фрейме" onclick="javascript:send();">
                <iframe id="myFrame" src="test.php?inner=1" width="200px" height="200px"></iframe>
        </body>
</html>
<?php } else { ?>
<html>
        <body>
                <form action="test.php?inner=1" method="POST">
                        <input type="text" name="name" value="RRR">
                        <input type="submit" name="send" value="Отправить">
                </form>
        </body>
</html>        
<?php }?>
 
Даже такой простой кусок кода показывает, что IE пофигу на программный клик и отправленное значение в автозаполнение не попадает. Неужели никто с таким не сталкивался?

PHP:
<form action="test1.php" method="POST">
        <input type="text" name="name">
        <input type="button" value="Отправить">
</form>

<script type="text/javascript" src="jquery-1.5.1.min.js"></script>
<script>

$(function(){

        $('input[type="button"]').bind('click', function(){

                $('form').submit();
        });
});

</script>
 
IE пофигу на программный клик и отправленное значение в автозаполнение не попадает
Наверняка так и есть. А по какой спецификации он обязан это делать?
 
Тут смысл в другом, как сделать так, чтобы программный клик был полностью идентичен аппаратному и зачем их вообще различать
 
Ну Firefox и Chrome же по какой-то спецификации это делают
Эти делают в соответствии с архитектурой своего ПО. Скорее всего никто из браузеров специальни эти случаи не обрабатывает, поскольку специфиакации на это не существует. Просто зависит от того, из какого места движек завазан на ГУИ.
 
Эти делают в соответствии с архитектурой своего ПО. Скорее всего никто из браузеров специальни эти случаи не обрабатывает, поскольку специфиакации на это не существует. Просто зависит от того, из какого места движек завазан на ГУИ.
Такой ответ предполагает, что нужно забить и жить дальше... А мне хотелось бы сделать, чтобы везде работало
 
Очевидно же, что ты хочешь нехотимого. Яваскриптом можно сделать то же самое, либо вообще по-другому решить задачу, о которой нам пока ничего не известно.
 
Сверху