eval parent.location的JavaScript错误

时间:2014-07-11 16:33:36

标签: javascript

我在Classic ASP工作。我正在使用的代码(不是我的代码)是很久以前编写的,甚至可能早在Firefox和Chrome存在之前。

无论如何,有以下JavaScript函数:

function MM_jumpMenu(targ, selObj, restore) {
    eval(targ + ".location ='" + selObj.options[selObj.selectedIndex].getAttribute('value') + "'");

    if (restore)
    {
        selObj.selectedIndex=0;
    }
}

该代码突然停止工作,我正在试图找出原因。在Chrome中,它给了我错误:

  

SyntaxError:意外的标识符

当我尝试运行代码时,传入的参数如下:

  

targ =“父母”

     选择的selObj指数的

=“edit_details.asp?make = ML& n =& r = DA61CHH& c = Hope Ready Mixed Concrete Ltd - CHY LCV& cus = HOPEAG02& type =&安培; INC =和ID =安培; FW =&安培; cusid = HOPE03"

     

恢复 = 0

假设代码仅针对IE 6/7编写,我们正在尝试标准化并使其适用于所有浏览器。

3 个答案:

答案 0 :(得分:3)

eval是邪恶的!不要使用它!

window[targ].location = selObj.options[selObj.selectedIndex].getAttribute('value');

答案 1 :(得分:1)

您的网址中有一个未转义的单引号。

CHY LCV's&

Espace this:

CHY LCV\'s&

但实际上,这段代码太可怕了,如果可以,你应该重写它。

答案 2 :(得分:0)

"选择的selObj索引的值" :它有一个撇号。你需要逃脱它。