Автоматическая отправка формы изображения, когда интернет доступен

0

Я пытаюсь сделать автономное приложение HTML5, которое представляет форму, содержащую изображение и текстовый ввод для адреса электронной почты, когда доступно интернет-соединение

Вот что я пробовал:

<body>
    <script type='text/javascript'>
    window.onload = function () {
                function submit() {
        setInterval(function () {
            if (navigator.onLine) {
                //if internet is avaiable do:
                document.getElementById("upload").submit();
            }else {
                //if no internet
                var theDiv = document.getElementById("message");
                                    var content = document.createTextNode("No internet");
                                    theDiv.appendChild(content);
            }
        }, 1000);
    }
            }
    </script>
    <form action="post.php" method="post" enctype="multipart/form-data" id="upload">
    <input type="file" name="uploaded" accept="image/*" capture><br>
    <p>Skriv inn din epost: <input type="text" name="email"></p>
    <input type="submit" value="Send ditt bilde!" name="sendimg" onclick="this.value='Submitting ..';this.disabled='disabled'; submit();">
    <div class="message"></div>

Есть ли у кого-нибудь предложения? Благодаря :)

  • 0
    Вы пробовали подключить слушателя не по onclick ?
  • 0
    Интернет всегда доступен. Возможно, подключения к Интернету не может быть.
Теги:
forms
offline

3 ответа

0

Вместо постоянной проверки подключения к Интернету вы можете использовать онлайн-и оффлайн-события. Для справки см. Этот https://developer.mozilla.org/en/docs/Online_and_offline_events. Если пользователь находится в автономном режиме, сохраните данные в локальном хранилище и затем повторно отправьте данные после повторного обнаружения онлайн-события.

0

Извините, но я не могу ответить. Будет ли это работать?

<script type='text/javascript'>
window.onload = function () {
            function submit() {
    setInterval(function () {
        if (window.navigator.onLine == "true") {
            //if internet is avaiable do:
            document.getElementById("upload").submit();
        }else {
            //if no internet
            var theDiv = document.getElementById("message");
                                var content = document.createTextNode("No internet");
                                theDiv.appendChild(content);
        }
    }, 1000);
}
        }
</script>
0

Тебе два способа проверить это

Для этого решения требуется jQuery

$.ajaxSetup({
    timeout: 1, // Microseconds, for the laughs.  Guaranteed timeout.
    error: function(request, status, maybe_an_exception_object) {
        if(status == 'timeout')
            alert("Internet connection is down!");
    }
});

А также

window.navigator.onLine -- it will be false if the user is offline.

Вы должны использовать выше в своем коде с некоторой настройкой в соответствии с требованиями.

  • 0
    Миллисекунды я верю.

Ещё вопросы

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