Здраствуйте,нужнен совет. Есть PHP скрипт с подобным содержанием : PHP: <input type=text name=nick> <? echo "<a href=\"javascript:document.post.nick.value = '123'\">123</a>"; ?> после клика по ссылке "123" по идее в edit должно устанавливатся значение "123",но этого не происходит,уже перепробывал все возможные комбинации(document.post.nick.value,document.nick.value etc),в javascript я ноль,поэтому прошу вас подсказать что в коде не так,и по возможности показать решение проблемы
Здравствуйте! Вас приветствует круглосуточная поддержка php.ru! При использовании javascript-кода в атрибутах тэга <a> необходимо помнить, что назначение этого тэга - это изменение текущего url. В Вашем случае браузер отрывает на месте текущей страницы новую, адрес у которой является кодом javascript. Код выполняется, но так как элементов формы на новой странице не существует, то код работать не будет. Чтобы избежать такого поведения, javascript-код необходимо обернуть в функцию void(): <a href="javascript: void(... somecode ...)">123</a> Значения атрибутов в тегах рекомендуется брать в кавычки: type="text" Тот код, который Вы используете - устарел, но местами еще поддерживается. К сожалению, печатная литература в России не поспевает за прогрессом и порой сильно отстает, поэтому там такой код можно встретить очень часто. Для обращения к элементам используйте id: <input type="text" name="nick" id="nickname"> <a href="javascript:void(document.getElementById('nickname').value = '123')">123</a>
Спасибо за подсказку,но данный метод корректно работает только на 6 Explorer'е а на новой опере(11),и на мозилле работать не хочет. При включённой опции "Показывать консоль ошибок" опера выдаёт следующее - Код (Text): Uncaught exception: TypeError: Cannot convert 'document.getElementById('123')' to object
Число "123" я для примера привёл,изначально этот код выводит значение переменной,а само значение устанавливается в edit - Код (Text): echo "<a href=\"javascript:void(document.getElementById('nick').value = '$g');\">$g</a>"
<input type="text" id="nick" name="nick" value="some"> <a href="javascript:void(0);" onclick="document.getElementById('nick').value = '$g';">$g</a> жирным выделил то, на что нужно обратить внимание