Скрипт для заполнения поля формы
Сразу оговорюсь в скриптах я новичок, да и образование гуманитарное. Так что сильно не бейте :) .
Хочу чтобы в форме поиска сайта автоматически заполнялось одно из полей поиска, а именно - мой ник. Браузер: Opera 11.01 Скрипт выглядит так // ==UserScript== // @include [url]http://forum.kinopoisk.ru/search.php[/url] // ==/UserScript== (function bookmark() { var name_input = document.getElementById('userfield_txt'); name_input.value="vasya" })(); Opera dragonfly пишет: Uncaught exception: TypeError: Cannot convert 'name_input' to object Error thrown at line 7, column 0 in bookmark() in new.js: name_input.value="vasia" called from line 5, column 0 in new.js: (function bookmark() { Был еще вариант // ==UserScript== // @include [url]http://forum.kinopoisk.ru/search.php[/url] // ==/UserScript== (function bookmark() { document.getElementById('userfield_txt').value="vasia" })(); Но это как я понимаю те же яйца только в профиль и тоже с ошибкой: Uncaught exception: TypeError: Cannot convert 'document.getElementById('userfield_txt')' to object Error thrown at line 6, column 0 in bookmark() in new.js: document.getElementById('userfield_txt').value="va sia" called from line 5, column 0 in new.js: (function bookmark() { Если что, вот фрагмент кода (на загружаемой странице) где указывается id поля <tr> <td colspan="2"> <div> <div id="userfield" unselectable="true"> <input type="text" class="bginput" name="searchuser" id="userfield_txt" size="35" value="" style="width:250px" autocomplete="off"/> </div> <div id="userfield_menu" class="vbmenu_popup" style="display: none; position: absolute; z-index: 50"/> <script type="text/javascript" src="clientscript/vbulletin_ajax_namesugg.js?v=387"/> <script type="text/javascript"> </td> </tr> Если что, подставлял вместо userfield_txt -> userfield. Результат тот-же. Что делаю не так? |
Цитата:
<input type="text" class="bginput" name="searchuser" id="userfield_txt" size="35" value="" style="width:250px" autocomplete="off"/> <script type="text/javascript"> (function bookmark() { document.getElementById('userfield_txt').value="vasia" })(); </script> |
ksa
Вставляю Ваш код в свой Js файл. Теперь целиком он выглядит так: // ==UserScript== // @include [url]http://forum.kinopoisk.ru/search.php[/url] // ==/UserScript== <input type="text" class="bginput" name="searchuser" id="userfield_txt" size="35" value="" style="width:250px" autocomplete="off"/> <script type="text/javascript"> (function bookmark() { document.getElementById('userfield_txt').value="vasia" })(); </script> ошибок не выдается, но и поле не заполняется. Наверное я опять где-нибудь накосячил? |
А если так:
// ==UserScript== // @include [url]http://forum.kinopoisk.ru/search.php[/url] // ==/UserScript== addEventListener('load', function(e) { var nameInput = document.getElementById('userfield_txt'); nameInput.value = "vasya"; }, false); |
vatras,
Вы инпут то не ставьте в JS файл, его надо на HTML страничку ставить. И тег script в JS файле не нужен |
ваый, огромное Вам спасибо! Ваш вариант кода работает! Жаль, не могу до конца разобраться в нем, (квалификация не та:) ). Еще раз выражаю огромную Вам благодарность и конечно ksa и walik тоже.
|
Цитата:
Я попробовал вместо document.getElementById прописат document.getElementsByClassName но ничего не работает. |
Цитата:
Для этого так же нужно однозначно определить элемент ДОМ-дерева. |
Как сделать чтобы информация выводимая скриптом была в поле ввода
<html> <body> <script type='text/javascript'> document.write(navigator.userAgent); </script> <input type="text" valye=""/> </body> </html> |
<input type="text" id="userAgent" /> <script> userAgent.value = navigator.userAgent; </script> |
Часовой пояс GMT +3, время: 12:46. |