2010-04-01 34 views
1

请帮我解决这个问题: 我有一个窗体,我写了onSubmit调用一个JavaScript函数。 请告诉我,在JavaScript函数我如何检查,谁是事件发生器(我的意思是在哪个按钮单击这甚至提出).. 注:onsubmit函数调用是在窗体标记.. 我使用JavaScript和ASP .NET 我的代码是这样的:如何找到使用javascript提交的来源

<form id="form1" runat="server" onsubmit="return CheckForm()"> 

    <script type="text/javascript" language="javascript"> 
     function CheckForm() 
      { 
      some code here 
      } 
    </script> 

我不想改变任何功能..我已经得到了这是造成回发一个下拉列表..我想,当这个下拉列表加薪后回任我应该知道,它通过dropdownlist提升或者该函数不应该被dropdownlist的回传调用

回答

1

你可以通过this这里是一个例子...

this.TextBox1.Attributes.Add("onkeypress", "button_click(this,'" + this.Button1.ClientID + "')"); 

function button_click(objTextBox,objBtnID) 
{ 
    if(window.event.keyCode==13) 
    { 
     document.getElementById(objBtnID).focus(); 
     document.getElementById(objBtnID).click(); 
    } 
} 
+0

我想你不明白我的问题:我有一个窗体标签,其中我有一个函数调用onsubmit事件...他们是没有个人调用该功能,这是在窗体标签 – 2010-04-01 11:21:59

0

你可以添加一个onclick事件到提交​​按钮,它将设置一个变量。然后可以在onsubmit事件中使用这个值要弄清楚哪个按钮被点击:

形式:

<form action="" method="get" id="frmOne" onsubmit="return checkVal()"> 
    <input type="submit" id="btnOne" value="hello01" onclick="testtwo(1)" /> 
    <input type="submit" id="btnTwo" value="hello02" onclick="testtwo(2)" /> 
</form> 

脚本:

<script type="text/javascript"> 
    var iVal = 0; 
    function checkVal() { 
     if (iVal == 1) { 
      // ... 
      return false; 
     } else { 
      if (iVal == 2) { 
       // ... 
       return true; 
      } 
     } 
    } 
    function testtwo(val) { 
     iVal = val; 
    } 
</script> 
+0

您的代码是好的,但什么我想要的是..我不想改变任何功能..我有一个dropdownlist这是造成回传..我希望,当这个dropdownlist提出后回要么我应该知道,它提出的下拉列表或该功能不应该是由dropdownlist的回传调用 – 2010-04-01 11:27:57

+0

由下拉列表引起的回发应该用“发件人”对象调用服务器端方法。您可以通过检查发件人对象来确定导致回发的下拉控件。尽管如此,这对客户端没有帮助。 – 2010-04-01 11:32:57

0
<script type="text/javascript"> 
    var button='' 

    // call this function on button click 
    function clickButtonName(name){ 
      button=name 
    } 

    // onSubmit function check for 'button' Variable to find out which event is clicked 
don't forget to reset button variable. 

</script> 

但是,请记住您的形式是当你在表单内的文本框内点击“Enter”按钮时,也会获得提示。我认为你必须使用javascript的onkeypress和事件类禁用表单提交。