Asp.net内部的Html表单方法表示不发布数据

时间:2011-10-11 13:25:37

标签: javascript jquery asp.net handler

我正在尝试使用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进行的实际操作:

<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 :(得分:0)

考虑使用XmlHttpRequest:http://www.ibm.com/developerworks/web/library/wa-ajaxintro2/

,而不是表单方法

如果您正在使用JQuery或Microsoft ASP.NET AJAX框架,那么有助于实现这一目标,更容易(使用$.ajax的JQuery和带有Sys.Net.WebRequest的ASP.NET AJAX)。< / p>