Javascript:Uncaught SyntaxError:意外的令牌ILLEGAL

时间:2013-12-22 07:55:35

标签: javascript php

我的php页面上有一个下拉列表,其中填充了MySQL数据库中的数据,我想按字母顺序对其进行排序,但我收到此错误:“未捕获的SyntaxError:意外的令牌ILLEGAL”。

我做错了什么?

HTML / PHP

//Somewhere on my form...
echo '<select name=\"dropdownlist\" onclick=\"sortlist(this.value)\">';

Javascript功能:

function sortlist(formtag)
{
    var cl = document.getElementById(formtag);
    var clTexts = new Array();

    for(i = 2; i < cl.length; i++)
    {
        clTexts[i-2] =
            cl.options[i].text.toUpperCase() + "," +
            cl.options[i].text + "," +
            cl.options[i].value;
    }

    clTexts.sort();

    for(i = 2; i < cl.length; i++)
    {
        var parts = clTexts[i-2].split(',');

        cl.options[i].text = parts[1];
        cl.options[i].value = parts[2];
    }
}

1 个答案:

答案 0 :(得分:3)

如果字符串在单引号内,则无需转义双引号。另外,在<select>标记中使用“onchange”。试试这个:

echo '<select name="dropdownlist" onchange="sortlist(this.value)">';

javascript代码中的错误:var cl = document.getElementById(formtag);可以包含单个元素,因此cl.length不高于1.