2013-06-24 4 views
0

Я создал этот букмарклет, чтобы выделить поля имени пользователя и пароля на странице. Я могу изменить цвет коробки, но если я пытаюсь изменить текст в поле, он не работает:Закладка не меняет текст в текстовом поле

<a href="javascript:void(var boxes= $(':text, :password');var selectionBox = $(':password');selectionBox.val('password');for(var i = 0; i < boxes.length;i++){if(boxes[i] == selectionBox[0]){boxes.eq(i-1).val('login');}})">Password box highlighter</a> 

Я попытался .text = '', .value = '' и .val('').

Спасибо.

ответ

2

обруч код для выполнения в функции-вызов:

<a href="javascript:void(function(){var boxes= $(':text, :password');var selectionBox = $(':password');selectionBox.val('password');for(var i = 0; i < boxes.length;i++){if(boxes[i] == selectionBox[0]){boxes.eq(i-1).val('login');}}}())">Password box highlighter</a> 

Объяснение: пустота ожидает, что выражение (только 1 выражение).

An expression is any valid unit of code that resolves to a value

Ваш код уже порывает с первого вар-ключевое слово, потому что объявление переменной не является выражением.

Когда вы завершаете код в функцию-вызов, выражение является вызовом функции, независимо от того, какой код будет выполняться внутри функции.