Javascript Asp.net表单中的Html表单方法未发布数据
我试图使用javascript将数据发布到通用处理程序,但无法上载 有人能告诉我哪里出了问题吗 这是我的密码:Javascript Asp.net表单中的Html表单方法未发布数据,javascript,jquery,asp.net,handler,Javascript,Jquery,Asp.net,Handler,我试图使用javascript将数据发布到通用处理程序,但无法上载 有人能告诉我哪里出了问题吗 这是我的密码: <script type="text/javascript"> function postdata() { var fieldValue = document.getElementById("field1").value; postwith("Upload.ashx", { field1: fi
<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>
函数postdata(){
var fieldValue=document.getElementById(“field1”).value;
postwith(“Upload.ashx”,{field1:fieldValue});
}
函数postwith(to,p){
var myForm=document.createElement(“表单”);
myForm.method=“post”;
myForm.action=to;
for(p中的变量k){
var myInput=document.createElement(“输入”);
myInput.setAttribute(“名称”,k);
setAttribute(“值”,p[k]);
appendChild(myInput);
}
document.body.appendChild(myForm);
myForm.submit();
document.body.removeChild(myForm);
}
这是我需要对表单进行的实际操作:
<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>
开始上传
> p>而不是表单方法,请考虑使用XMLHutpReQuest:
如果您使用的是JQuery或Microsoft ASP.NET AJAX框架,那么有一些帮助工具可以让这变得非常简单(JQuery与$.AJAX
配合使用,ASP.NET AJAX与Sys.NET.WebRequest
配合使用,我相信)。您是否查看过Firefox/Firebug以查看是否发送了请求?或者是否存在任何javascript错误?multipart/form data
有什么问题吗?您是否正在尝试上载文件?没有,请求没有发生,也没有javascript错误。它看起来像一个普通的html按钮,所以在myForm.submit()时,您可能希望使用onClick=
而不是OnClientClick=
;已执行,不是将用户从您的页面移动到另一个页面吗?是的,它向我显示了upload.ashx handler页面您能否更清楚地了解上面的示例如何修改它?XmlHttpRequest
不适用于多部分/表单数据
表单FormData
对象可能会有所帮助,但并非在所有浏览器中都实现。