知道在Javascript中按下了什么按钮

时间:2013-02-25 18:10:56

标签: 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 个答案:

答案 0 :(得分:2)

在功能按钮中添加另一个参数:

function displaySort(form, button)
{ ...

单击时将按钮引用传递给它:

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