Метод HTML-формы внутри формы Asp.net не публикует данные - PullRequest
0 голосов
/ 11 октября 2011

Я пытаюсь опубликовать данные с использованием javascript в универсальном обработчике, но не могу загрузить.

Может кто-нибудь подсказать мне, где я ошибаюсь?

Вот мой код:

    <script type="text/javascript">

         function postdata() {
             var fieldValue = document.getElementById("field1").value;
             postwith("Upload.ashx", { field1: fieldValue });
         }

         function postwith(to, p) {
             var myForm = document.createElement("form");
             myForm.method = "post";
             myForm.action = to;
             for (var k in p) {
                 var myInput = document.createElement("input");
                 myInput.setAttribute("name", k);
                 myInput.setAttribute("value", p[k]);
                 myForm.appendChild(myInput);
             }
             document.body.appendChild(myForm);
             myForm.submit();
             document.body.removeChild(myForm);
         }

</script>

Это то, что мне нужно сделать с формой:

<form id="Form1" action="Upload.ashx" method="POST"  enctype="multipart/form-data"
    runat="server">

Поскольку у меня есть главная страница, мне нужно сделать так:

  <button type="submit" class="start"  OnClientClick="postdata(); return false;">
                Start upload</button>

1 Ответ

0 голосов
/ 11 октября 2011

Вместо того, чтобы подходить к форме, рассмотрите возможность использования XmlHttpRequest: http://www.ibm.com/developerworks/web/library/wa-ajaxintro2/

Если вы используете JQuery или Microsoft ASP.NET AJAX-фреймворки, есть помощники, которые делают это намного НАМНОГО проще (JQuery с $.ajax и ASP.NET AJAX с Sys.Net.WebRequest я считаю).

...