2010-04-01 39 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和事件類禁用表單提交。