1

我想知道是否有一种方法可以询问是否按下了某个按钮,以便它在函数中执行某些操作。我知道我可以把它分成两个单独的函数,但我想知道如何做到这一点。

我将把我的代码放在下面。

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>
4

1 回答 1

2

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

function displaySort(form, button)
{ ...

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

<input type="button"
   onclick="displaySort(this.form, this)"
   value="Reverse Sort"
   id="rSort"
/>
于 2013-02-25T18:21:45.903 回答