我在做一个填写表单的页面,里面有些字段是必填的,有些是非必填的,页面有两个按钮,一个提交,一个保存,点击保存的时候页面的数据在数据库中表示草稿状态,点击按钮时都会先触发检验事件,然后再触发后台的_Click事件,从而把数据保存到数据库中。我要实现的功能是点击保存的时候不检验页面的所有必填字段是否已经填写了(就是必填项为空也可以保存,但是点提交的时候就不行),点击提交的时候就检验,我的表单中用的是一个checkform.js文件来实现检验功能。前台页面代码大体如下:
……
<script type="text/javascript" src="/Manager/js/checkform.js"></script>
<form id="form1" runat="server" onsubmit="javascript:return checkForm(this)">
……
<asp:Button ID="保存" runat="server" OnClick="保存_Click" Text="保存" />
<asp:Button ID="提交" runat="server" OnClick="提交_Click" Text="提交" />
……
</form>
我现在遇到的问题是点击保存的时候也触发了检验事件,因为checkform.js里面的checkForm(fm)这个函数太多内容了,不想把它单独绑定到提交按钮。我想能不能在checkform.js中获取被点击按钮的ID,比如点击的是ID“保存”的按钮就不执行checkForm(fm)这个函数了,请高手多多帮忙啊,小弟结贴率百分百的!
……
<script type="text/javascript" src="/Manager/js/checkform.js"></script>
<form id="form1" runat="server" onsubmit="javascript:return checkForm(this)">
……
<asp:Button ID="保存" runat="server" OnClick="保存_Click" Text="保存" />
<asp:Button ID="提交" runat="server" OnClick="提交_Click" Text="提交" />
……
</form>
我现在遇到的问题是点击保存的时候也触发了检验事件,因为checkform.js里面的checkForm(fm)这个函数太多内容了,不想把它单独绑定到提交按钮。我想能不能在checkform.js中获取被点击按钮的ID,比如点击的是ID“保存”的按钮就不执行checkForm(fm)这个函数了,请高手多多帮忙啊,小弟结贴率百分百的!
document.getElementById("save_btn").onclick=function(){return false}
form 的submit 和check放在两个button的click事件中,其中保存_Click中不进行相关的check,然后提交form。
提交_Click中进行相关的check,然后提交form就是了。按你的思路,要获取id可以这样: var eve = window.event || evnt;
var obj = eve.srcElement||eve.target;
if (obj.id == "保存"){
} else if (obj.id =="提交") {
}
document.onclick=function(){
var child=null;
if(window.event){
e=window.event;
child=document.activeElement
}else{
child=arguments[0].explicitOriginalTarget;
}
//这里写if(id==used) 就做你要做的,else return false
document.getElementById('show').innerHTML="焦点的DOM为"+child.id;
}</script>
<input ID="Text1" NAME="Text1"/> <button id="nouse" >不提交的按钮 </button> <button id="used" >提交的按钮 </button>
<div id=show></div>