悬赏园豆:30
[已解决问题]
解决于 2007-12-07 08:51
各位大侠们,问题壁虎又来提问了。<br><br>先把产生问题的过程说下:<br>今天想用JS在客户端执行一个按钮的onclick()事件,来引起一个回发去执行一个Button的服务器端事件。<br>调用 btn.onclick();<br>但提示 无对象。然后一检查,才发现onclick()事件为null。<br>查看html 发现按钮如下:<br><input type="submit" name="btnNext" value="下一步" id="btnNext" class="button_normal"/><br>用的是type="submit" 也就是提交来实现的点击回发。没有onclick事件。而且一个from内有多个type="submit"的按钮。<br><br>于是问题就来了:<br>如代码所示:<br><body><br> <form name="form1" method="post" action="WebForm1.aspx" id="form1"><br><div><br><input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMTQ3NjkyOTcyMmRkUcQ+2fGohGzyIbKrTz5Vh/t2CAg=" /><br></div><br><br> <div><br> <input type="submit" name="Button1" value="Button" id="Button1" /><br> <input type="submit" name="Button2" value="Button" id="Button2" /></div><br> <br><div><br><br> <input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWAwLLhbb8BgKM54rGBgK7q7GGCKnsv6niZyFRhWMec9EHCuSmBjg/" /><br></div></form><br></body><br>一个from中有多个submit。<br>那么提交后,<br>1、服务器端是怎么判断哪个submit发出的回发呢?<br>2、在js中,如果要去触发Button1的回发,然后使服务器端也能执行相应的onclick事件。应该怎么做?<br>3、2个隐藏控件。__VIEWSTATE存的是ViewState,我知道。但是第二个__EVENTVALIDATION又存的是什么?用ViewStateDecoder2工具看出来的就是3个数字,不知道什么意思。<br><br>希望哪位大侠能帮忙回答一下。或者有什么相应的资料或文章也请不吝提供。<br><br>
问题补充:
首先声明我没有攻击别人网站的想法。之所以只贴了客户端代码,那是因为问的问题与服务端无关,其实服务器端什么都没写,只是在页面上托了2个Button。
Klesh Wong的解答了我的第1个问题。在此表示感谢。
当submit类型的input元素被点击时,browser会把该input的name和value作为字段post到服务器,那么服务器端就可以根据这个字段来判断是哪个button被click了。
但是 submit类型的input元素 是没有onclick事件的(当然你可以添加客户端的onclick,但是在本问题中没有。)所以不能用 js调用onclick方法。
希望有高人能帮忙回答2,3。
壁虎
|
初学一级
|
园豆:
140
提问于:2007-12-05 16:39