急,post提交中Request.Form取不到值

周睿 2010-03-09 03:17:46

function doPostEdit(url,sname)
{
var ids=getIDList(sname);
if(ids!="")
{
if((confirm("确定要批量修改这些记录?"))==true)
{
url=url+"?action=editAll";
ajax_post(url,{id:ids},function(msg){alert("ok")});
}
}
else
{
alert("您还没有选择要修改的项");
return false;
}
}


<form name="productClassAcc" method="post" id="productClassAcc" >
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<table class="tb2">
<tr align="center">
<td align="left" width="20%"> <input type="checkbox" name="m_id" value='<%#Eval("pClassId") %>' class="checkbox" id='<%#Eval("pClassId") %>'/><%#Eval("pClassId") %>.<a href="#"><%#Eval("pClassName") %></a>(<font color="red">0</font>)</td>
<td width="14%"><input size="13" type="text" name="pcname<%#Eval("pClassId") %>" value='<%#Eval("pClassName") %>' ></td>
<td width="10%"><input size="10" type="text" name="pcTag<%#Eval("pClassId") %>" value='<%#Eval("pTag") %>'></td>
<td width="16%"><input size="12" type="text" name="pcinfo<%#Eval("pClassId") %>" value='<%#Eval("pCInfo") %>'></td>
<td width="6%"><input size="3" type="text" name="pcsort<%#Eval("pClassId") %>" value='<%#Eval("cSort") %>'></td>
<td width="13%"><input type="button" value="删除" onClick="if(confirm('确定要删除吗')){ajax_get('?action=delAll&id='+this.title,'',function(){location.href=location.href;});}else{return false}" name="Input" class="btn" title='<%#Eval("pClassId")%>' /> </td>
</tr>
</table>
</ItemTemplate>
</asp:Repeater>

<table class="tb"><tr><td>全选<input type="checkbox" name="chkall" id="chkall" class="checkbox" onclick="checkAll(this.checked,'m_id')" />反选<input type="checkbox" name="chkothers" id="chkothers" class="checkbox" onclick="checkOthers('m_id')" />
<input type="button" value="批量删除" onclick="doPostDeletes('','m_id')" class="btn" /><input type="submit" value="批量修改选中分类" class="btn" onclick="doPostEdit('','m_id')" />
</td></tr></table>
</form>

后台我用Request.Form["pcname54"]取不值,我要做个批量的AJAX修改,是在循环你修改,还是在循环外面一拼接好SQL一起修改?????
...全文
3424 84 打赏 收藏 转发到动态 举报
写回复
用AI写文章
84 条回复
切换为时间正序
请发表友善的回复…
发表回复
CHJGirl 2010-03-10
  • 打赏
  • 举报
回复
引用 36 楼 doulestring 的回复:
没用,我早试过了
高手快来啊,搞定后120分给上



<form name="productClassAcc" method="post" id="productClassAcc" runat="server" >
加上runat="server"这个是必须的。
tkscascor 2010-03-10
  • 打赏
  • 举报
回复
h好吧,, 同#39
阿非 2010-03-10
  • 打赏
  • 举报
回复
你现在是怎么写的
丰云 2010-03-10
  • 打赏
  • 举报
回复
引用 79 楼 sandy945 的回复:
好吧,我承认我被你打败了
阿非 2010-03-10
  • 打赏
  • 举报
回复
好吧,我承认我被你打败了
周睿 2010-03-10
  • 打赏
  • 举报
回复
明白了,唉,不传参是不行的,我就算不用AJAX提交,我用表单提交,照样没值
無葉 2010-03-10
  • 打赏
  • 举报
回复
引用 75 楼 sandy945 的回复:
你应该先弄明白 什么是 get ,post

然后再学习 ajax


学习
丰云 2010-03-10
  • 打赏
  • 举报
回复
引用 74 楼 doulestring 的回复:
如果要带参数的话,那么这个批量修改很难完成了,,必须在前台组装好结构才行,
我有多个checkbox,用Repeater绑定的,类似MAXCMS2.8的那个后台-分类界面

因为AJAX是异步运行,那你完全可以在js里用循环提交修改来实现,
反正别人也看不出来,也许画面会更平滑呢
阿非 2010-03-10
  • 打赏
  • 举报
回复
你应该先弄明白 什么是 get ,post

然后再学习 ajax
周睿 2010-03-10
  • 打赏
  • 举报
回复
如果要带参数的话,那么这个批量修改很难完成了,,必须在前台组装好结构才行,
我有多个checkbox,用Repeater绑定的,类似MAXCMS2.8的那个后台-分类界面
丰云 2010-03-10
  • 打赏
  • 举报
回复
AJAX是web异步运行机制的一个实现,
也就是局部刷新。
必须得通过传参数的方式提交数据,
就算有些程序看起来没有传参数,
那也只是因为它封装了这个过程,
内部还是传的参数。。。
丰云 2010-03-10
  • 打赏
  • 举报
回复
表单提交和AJAX提交是两回事。。。。
没有可比性。。。
周睿 2010-03-10
  • 打赏
  • 举报
回复
我找了半天,是不是我表单根本就没提交
document.all.表单名称.submit();
差这句话???

<script language="javascript" type="text/javascript">
window.onload=function(){
setInterval("SubCharge()",2000)
}
function SubCharge()
{
document.all.payInfo.submit();
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
请稍候……正在处理请求
</div>
</form>
<!--提交页面开始-->
<div id="divHidden" style="display:none; visibility:hidden; ">
<form id="payInfo" name="payInfo" action="alipay.aspx" method="post">
<input id="price" name="price" type="hidden" value="<%=price %>" />
<input id="cname" name="cname" type="hidden" value="<%=cName %>" />
<input id="toname" name="toname" type="hidden" value="<%=toName %>" />
<input id="toAdd" name="toAdd" type="hidden" value="<%=toAdd %>" />
<input id="zipCode" name="zipCode" type="hidden" value="<%=zipCode %>" />
<input id="toTel" name="toTel" type="hidden" value="<%=toTel %>" />
<input id="Info" name="Info" type="hidden" value="<%=Info %>" />
<input id="id" name="id" type="hidden" value="<%=id %>"/> 
<input id="str" name="str" type="hidden" value="<%=str %>"/>
<input id="sign" name="sign" type="hidden" value="<%=sign %>" />
<input type="submit" />
</form>
</div>
<!--提交页面结束-->
</body>
这个是不用AJAX提交的,它也没给参数啊
丰云 2010-03-10
  • 打赏
  • 举报
回复
引用 66 楼 doulestring 的回复:
那也就是说,POST传递表单必须在JS给参数?为什么我看到很多人不需要给啊,
你的方法是可行的

看我前面 26楼说的,
如果是在MVC框架下使用ajax,是可以的通过FormCollection传值,不需要给参数的。
如果单独用ajax,35楼的说法是正确的。。。。
阿非 2010-03-10
  • 打赏
  • 举报
回复
换一个问法就是 ajax 这个名字中的 x 指什么
qq175691524 2010-03-10
  • 打赏
  • 举报
回复
你查看下源代码,看下HTML的name的变化,repeater的原因
阿非 2010-03-10
  • 打赏
  • 举报
回复
你看到那个 用 ajax 方式 向服务器发送post 请求 不用传递数据
周睿 2010-03-10
  • 打赏
  • 举报
回复
那也就是说,POST传递表单必须在JS给参数?为什么我看到很多人不需要给啊,
你的方法是可行的
阿非 2010-03-10
  • 打赏
  • 举报
回复
你把 str 传递过去

ajax_post(url,{id:ids},function(msg){alert("ok")});

=>

ajax_post(url,{value:str},function(msg){alert("ok")});

然后通过 Request.Form["value"] 获取

eg:

string value = Request.Form["value"]??"";
value=value.TrimStart(',');
string[] update= value.split(',');

update 的个数 就是需要修改的记录数

在update[i].split('|') 中的 分别是 ID ,和要修改的字段的值

周睿 2010-03-10
  • 打赏
  • 举报
回复
引用 57 楼 sandy945 的回复:
function  doPostEdit(url,sname)
    { 

=>

function  doPostEdit(url,sname)
    { 
        var cbks=document.getElementsByName('m_id');
        var tr,str='',inputs;
        for(int i=0,len=cbks.length;i <len;i++)
        {
              if(cbks[i].checked){
                  tr=cbks[i].parentNode.parentNode;
                  str+=','+cbks[i].value;
                  inputs=tr.getElementsByTagName('input');
                  str+='|'+inputs[1].value+'|'+inputs[2].value'|'+inputs[3].value'|'+inputs[4].value;
              }
        }


str 就是你需要的了

我不想在前台组装传过去,那样很麻烦,我在每个NAME上面带了个ID,如果我在后台能取值的话那就非常方便了,
加载更多回复(64)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧