проблема производительности при отправке формы - PullRequest
0 голосов
/ 23 сентября 2011

У меня есть форма в html, которая проверяет вводимые пользователем данные.Проблема в том, что даже на локальном хосте требуется много времени, чтобы перейти на страницу действий.Вот код

<form action="Activity.php" method="GET" >

<div style="display:none">
<input type="text" id="chapter" name="chapter"/>
<input type="text" id="book" name="book"/>
<input type="text" id="activity" name="activity"/>
</div>

<input type="image" src="includes/file.png" onClick="return validateForm()" title="Create New Activity" >

</form>

Код validateForm:

function validateForm()
    {
        document.body.style.cursor='wait';
        if(document.getElementById("book").value==null || document.getElementById("book").value==""
                    || document.getElementById("chapter").value==null || document.getElementById("chapter").value=="")
        {
            document.body.style.cursor='default';
            alert("You cannot create an activity at the selected location.");
            return false;
        }



        var name=prompt("Please enter the New Activity Name","New Activity Name");
        if (name==null || name=="")
        {
            document.body.style.cursor='default';
            return false;
        }

        document.getElementById('activity').value=encodeURI(name);
        return true;

    }

Если я удаляю подсказку в вышеприведенной функции, она мгновенно переходит на страницу activity.php, но если яи запрос имени операции, загрузка требуемой страницы занимает много времени (возможно, из-за того, что процесс отправки формы был прерван из-за приглашения, и при нажатии кнопки «ОК» на запрос начинается снова !! не знаю: S) каким должно быть решение (быстрое) для получения информации от пользователя при отправке формы?спасибо !!

Ответы [ 2 ]

0 голосов
/ 23 сентября 2011

Попробуйте это.

function validateForm()
    {
        document.body.style.cursor='wait';
        if(document.getElementById("book").value || document.getElementById("chapter").value)
        {
            document.body.style.cursor='default';
            alert("You cannot create an activity at the selected location.");
            return false;
        }



        var name=prompt("Please enter the New Activity Name","New Activity Name");
        if (name)
        {
            document.body.style.cursor='default';
            return false;
        }

        //document.getElementById('activity').value=encodeURI(name);
        return true;

    }
0 голосов
/ 23 сентября 2011

Этот объект не существует: document.getElementById('activity')

...