2013-02-25 42 views
1

我想知道是否有某種方法可以詢問某個按鈕是否被按下,以便它可以在該功能中執行某些操作。我知道我可以把它分成兩個獨立的功能,但我想知道如何以這種方式來完成這個功能。知道在Javascript中按下哪個按鈕

我會把我的代碼放在下面。

function displaySort(form) { 
    var list = form.values.value.replace(/\s+/g, '') 
    list = list.split(/,/) 
    if (document.getElementById("fSort").form.input.id) { 
     list.sort()   
     var listAsString = list.join(", ") 
     form.sortedDisplay.value = listAsString 
    } else if (document.getElementById("rSort").form.input.id) { 
     list.sort(reverseCompare) 
     var listAsString = list.join(", ") 
     form.reverseSortedDisplay.value = listAsString 
    } 
    window.alert("Messed Up"); 
} 

function reverseCompare(s1, s2) { 
    if (s1 < s2) { 
     return +1 
    } else if (s1 == s2){ 
     return 0 
    } else { 
     return -1 
    } 
} 

形式:

<form> 
    <table> 
     <tr> 
      <td> 
       <input type="text" name="values" value=" Bob, Ted, Carol,   
       Bette, Alice, Peter " 
       onclick="if (this.value == this.defaultValue) this.value=''" 
       size="80" 
       /> 
       <input type="button" 
       onclick="displaySort(this.form)" 
       value="Sort" 
       id="fSort" 
       /> 
       <input type="button" 
       onclick="displaySort(this.form)" 
       value="Reverse Sort" 
       id="rSort" 
       /> 
       <input type="reset" 
       value="Reset Form" 
       /> 
      </td> 
     </tr> 
     <tr> 
      <td> 
       <input type="text" name="sortedDisplay" value="Sorted list will show here" 
       size="35" 
       readonly 
       style="font-size:24pt;font-weight:normal;" 
       /> 
      </td> 
     </tr> 
     <tr> 
      <td> 
       <input type="text" name="reverseSortedDisplay" 
       value="Reverse sorted list will show here" 
       size="35" 
       readonly 
       style="font-size:24pt;font-weight:normal;" 
       /> 
      </td> 
     </tr> 
    </table> 
</form> 
+1

如何這個函數叫做? – 2013-02-25 18:12:43

+3

你要求按下按鈕,但我沒有看到'keyup','keydown','keypress'或類似的任何綁定。你想要綁定什麼? – 2013-02-25 18:12:44

+0

@dfsq感謝您修復它我有麻煩。 – 2013-02-25 18:16:25

回答

2

添加另一個參數的功能按鈕:

function displaySort(form, button) 
{ ... 

,並點擊時,通過按鈕參考吧:

<input type="button" 
    onclick="displaySort(this.form, this)" 
    value="Reverse Sort" 
    id="rSort" 
/> 
+0

我在if語句中調用了什麼來判斷它是否爲真?我試過button == document.getElementById(「fSort」)。form.input.id我試着做一個var button = button; – 2013-02-25 18:25:18

+0

只需檢查button.id。你也可以直接傳遞id:'onclick =「displaySort(this.form,this.id)」',或者甚至傳遞一個布爾值:'onclick =「displaySort(this.form,true)」''''onclick =「displaySort(this.form,false)」' – jalynn2 2013-02-25 18:29:31

相關問題