一个看起来简单的js+net问题

CZH_friend 2009-03-09 06:01:25
我在页面上放置一个<asp:FileUpload ID="FUp1" runat="server" /> 在页面上用js 脚本function cls()
{

var obj = document.getElementById <%=FUp1.ClientID %>”);

obj.click();
}

来调用 Fup1的click事件

选择文件后能够为该Fup1控件赋值。

我用一个服务器BUtton,在BUtton的后台事件中写保存,可是选择了上传文件后点击Button问题出现了:“FUp1中有值时,Button不确发它的服务器端事件,同时还会把Fup1的值清空”。而当我直接点击Fup1来选择文件后就没有上面的问题。

敬请高手,和大虾们指点迷径。

...全文
169 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
CZH_friend 2009-03-10
  • 打赏
  • 举报
回复
是我没有描述清楚吗????

请兄弟们将代码,复制到页面中试试,就知道我在问什么了。
zzxap 2009-03-10
  • 打赏
  • 举报
回复
function cls()
{
//取得Fup1对象
var obj = document.getElementById ("<%=FUp1.ClientID %>");

//调用Fup1的click事件 ,弹出文件选择窗体
document.getElementById ("<%=FUp1.ClientID %>").click();
}
CZH_friend 2009-03-10
  • 打赏
  • 举报
回复
上面是代码,大家可以直接粘贴到页面中试试。
CZH_friend 2009-03-10
  • 打赏
  • 举报
回复
<table border="0" cellpadding="0" cellspacing="0" style="width: 100%">
<tr>
<td align="left" valign="top">
<asp:Panel ID="PanelUp" runat="server" Width="100%">
<table border="0" cellpadding="0" cellspacing="0" style="width: 100%;">
<tr>
<td>
<asp:Image ID="Image1" runat="server" ImageUrl="~/ico/note_accept.png"
Width="20px" />
<a ID="abcd" href="#" onclick="cls(this);return false;" style="font-size: 15px">
添加附件</a>
<asp:Label ID="Label1" runat="server"></asp:Label>
<asp:Button ID="btnsave" runat="server" onclick="Button1_Click" Text="在选择了附件后点我,看看能不能触发后台的Button1_Click事件" />
</td>
</tr>
<tr>
<td style="width: 100%" valign="bottom">
<div ID="divFiles">
</div>
</td>
</tr>
<tr>
<td>
<asp:FileUpload ID="FUp1" runat="server" />
<asp:FileUpload ID="FUp2" runat="server" />
<asp:FileUpload ID="FUp3" runat="server" />
<asp:FileUpload ID="FUp4" runat="server" />

</td>
</tr>
<tr><td>操作步骤:1、点添加附件,选择附件。2、点击btnsave、</td></tr>
</table>
</asp:Panel>
</td>
</tr>
</table>
<asp:HiddenField ID="HDCont" runat="server" />

<script language="javascript" type="text/javascript">

function getFuQian()
{
var qiaz = "<%=FUp1.ClientID %>";
qiaz=qiaz.substring(0,qiaz.length-1);
return qiaz;
}

function getHidQian()
{
var qiaz = "<%=FUp1.ClientID %>";
qiaz=qiaz.substring(0,qiaz.length-1);
var hdqz = qiaz.substring(0,qiaz.length-3);
hdqz=hdqz+"HDCont";
return hdqz;
}

function cls()
{
var fupname =getFuQian();
var hdqz=getHidQian();

var had = document .getElementById(hdqz);

if(had .value=="5")
{
alert ("一次最多只能上传4个附件!");
return;
}
if(had .value=="")
{
had .value='1';
}

var Tfupname=fupname+had.value;

var obj = document.getElementById (Tfupname);


obj.click();

addspan (obj);
}


function addspan(obj)
{
if(obj.value=="")
{
return;
}
else
{
//文件名称
fname=obj.value.substr( obj.value.lastIndexOf('\\')+1);

//计数
var hdqz=getHidQian();

var had = document .getElementById(hdqz);

had.value =eval(had.value+"+1");


}

}


</script>
ustbwuyi 2009-03-09
  • 打赏
  • 举报
回复
你的意思是用js来触发上传控件吧

try this


<head runat="server">
<title>无标题页</title>
<script language =javascript>
function funTrigger()
{
var obj=document.getElementById("FUp1");
obj.click();
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:FileUpload ID="FUp1" runat="server" />
<br />
<input type="button" value="Trigger" id="btnTrigger" onclick="funTrigger()" />
</div>
</form>
</body>
</html>
直男250 2009-03-09
  • 打赏
  • 举报
回复
来晚了,我觉得是你的按钮属性,比如Atrribiute加晚了,
感觉是不是你给加在按钮点击事件里了?应该加在页面加载事件里。
lb0726 2009-03-09
  • 打赏
  • 举报
回复
这位兄弟是想用用js来触发按钮用fileup上传文件
  • 打赏
  • 举报
回复
你描述的看不出问题。

把你的两个控件、一个脚本写到一个demo页面上,再现你的问题,贴出来!
jiashu912387 2009-03-09
  • 打赏
  • 举报
回复
刚学JS 随便说说! obj.click(); 就是调用Button的onclick事件 如果你这边不用Onclick 改用onmousedown() 会不会就可以了呢?
个人愚见不要见笑!! 学习!!
宝_爸 2009-03-09
  • 打赏
  • 举报
回复
晕,看了半天没太明白,最好把前因后果也说一下。
CZH_friend 2009-03-09
  • 打赏
  • 举报
回复
我不是想调用Button的click事件

代码的意思是:

//为Fup1赋值
function cls()
{
//取得Fup1对象
var obj = document.getElementById <%=FUp1.ClientID %>”);

//调用Fup1的click事件 ,弹出文件选择窗体
obj.click();
}


我是想通过一个服务器端的BUtton控件来在后台保存Fup1所选择的文件。
limpid_123 2009-03-09
  • 打赏
  • 举报
回复
mark
koukoujiayi 2009-03-09
  • 打赏
  • 举报
回复
调用Button的click应该是:
function cls()
{
var obj = document.getElementById("<%=FUp1.ClientID %>");
//obj.click();
document.getElementById("Button1").click();
}
CZH_friend 2009-03-09
  • 打赏
  • 举报
回复
再补充一下:“FUp1中有值时,Button不确发它的服务器端事件,同时还会把Fup1的值清空,清空后再点就没事儿了就可以触发Button的服务器事件 了”。而当我直接点击Fup1来选择文件后就点击Button没有上面的问题

62,268

社区成员

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

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

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

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