Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.10.2011, 15:58
Новичок на форуме
Отправить личное сообщение для vatras Посмотреть профиль Найти все сообщения от vatras
 
Регистрация: 03.10.2011
Сообщений: 3

Скрипт для заполнения поля формы
Сразу оговорюсь в скриптах я новичок, да и образование гуманитарное. Так что сильно не бейте .

Хочу чтобы в форме поиска сайта автоматически заполнялось одно из полей поиска, а именно - мой ник. Браузер: 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. Результат тот-же.


Что делаю не так?
Ответить с цитированием
  #2 (permalink)  
Старый 03.10.2011, 16:08
Аватар для ksa
ksa ksa на форуме
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,118

Сообщение от vatras
Был еще вариант
Вполне работающий вариант...

<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>
Ответить с цитированием
  #3 (permalink)  
Старый 03.10.2011, 16:44
Новичок на форуме
Отправить личное сообщение для vatras Посмотреть профиль Найти все сообщения от vatras
 
Регистрация: 03.10.2011
Сообщений: 3

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>


ошибок не выдается, но и поле не заполняется.

Наверное я опять где-нибудь накосячил?
Ответить с цитированием
  #4 (permalink)  
Старый 03.10.2011, 18:22
Профессор
Отправить личное сообщение для ваый Посмотреть профиль Найти все сообщения от ваый
 
Регистрация: 29.06.2011
Сообщений: 445

А если так:
// ==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);
Ответить с цитированием
  #5 (permalink)  
Старый 03.10.2011, 18:37
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

vatras,
Вы инпут то не ставьте в JS файл, его надо на HTML страничку ставить.
И тег script в JS файле не нужен
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
  #6 (permalink)  
Старый 03.10.2011, 18:40
Новичок на форуме
Отправить личное сообщение для vatras Посмотреть профиль Найти все сообщения от vatras
 
Регистрация: 03.10.2011
Сообщений: 3

ваый, огромное Вам спасибо! Ваш вариант кода работает! Жаль, не могу до конца разобраться в нем, (квалификация не та ). Еще раз выражаю огромную Вам благодарность и конечно ksa и walik тоже.

Последний раз редактировалось vatras, 03.10.2011 в 18:53.
Ответить с цитированием
  #7 (permalink)  
Старый 07.12.2016, 14:11
Новичок на форуме
Отправить личное сообщение для valdemariuses Посмотреть профиль Найти все сообщения от valdemariuses
 
Регистрация: 07.12.2016
Сообщений: 5

Сообщение от ваый Посмотреть сообщение
А если так:
// ==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);
Здравствуйте. Подскажите, а можно ли реализовать то же только учитывая не id а class элемента?
Я попробовал вместо document.getElementById прописат document.getElementsByClassName но ничего не работает.
Ответить с цитированием
  #8 (permalink)  
Старый 07.12.2016, 15:57
Аватар для ksa
ksa ksa на форуме
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,118

Сообщение от valdemariuses
а можно ли реализовать то же только учитывая не id а class элемента?
Можно.
Для этого так же нужно однозначно определить элемент ДОМ-дерева.
Ответить с цитированием
  #9 (permalink)  
Старый 11.01.2019, 12:35
Аватар для m~r.Nemo
Аспирант
Отправить личное сообщение для m~r.Nemo Посмотреть профиль Найти все сообщения от m~r.Nemo
 
Регистрация: 27.10.2012
Сообщений: 80

Как сделать чтобы информация выводимая скриптом была в поле ввода

<html>
<body>
<script type='text/javascript'>
document.write(navigator.userAgent);
</script>
<input type="text" valye=""/>
</body>
</html>

Последний раз редактировалось m~r.Nemo, 11.01.2019 в 12:38.
Ответить с цитированием
  #10 (permalink)  
Старый 11.01.2019, 12:38
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

<input type="text" id="userAgent" />
<script>
	userAgent.value = navigator.userAgent;
</script>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите скрипт для загрузки фото на сервер Mapshal Общие вопросы Javascript 0 13.08.2011 17:49
Создаваемое поле невидимо для формы. Dimasick Элементы интерфейса 2 15.04.2011 19:59
в модальном окне не работает скрипт проверки формы necroms jQuery 1 11.03.2011 15:14
Скрипт — заметки для сайтов https Opera, Safari и др. 1 04.12.2010 02:47
Скрипт для плагина к Download Master ponand Общие вопросы Javascript 21 05.01.2009 22:12