Javascript-форум (https://javascript.ru/forum/)
-   (X)HTML/CSS (https://javascript.ru/forum/xhtml-html-css/)
-   -   Автозаполнение полей (https://javascript.ru/forum/xhtml-html-css/9995-avtozapolnenie-polejj.html)

Limon 15.06.2010 01:27

Автозаполнение полей
 
Всем привет! Помогите пожалуйста.
В общем нужно чтобы автоматически выбирало страну и заполняло поля вот в ЭТОЙ форме, НО дело в том что коды этих полей меняются :(
Когда коды не менялись, использовал вот этот скрипт:
// ==UserScript==
// @name           Limon
// @namespace      Limon
// @description     This baby will autofill the form fields in the redeem page!
// @include        *lockerz.com*
// @include        *ptzplace.lockerz.com*
// @version        1.0
// @author         Limon
// ==/UserScript==

var country = "Russia";
var countryCode = "RU";

var phoneWhole = "телефон";

var firstName = "имя";
var lastName = "фамилия";

var address1 = "улица дом/кв.";
var address2 = "";

var city = "город";
var state = "RU";
var zip = "индекс";


document.getElementById("state").value = state;
document.getElementById("statesClicker").getElementsByTagName("SPAN")[0].innerHTML = state;
document.getElementById("stateDetails").value = state;

document.getElementById("country").value = country;
document.getElementById("countryClicker").getElementsByTagName("SPAN")[0].innerHTML = country;
document.getElementById("countryDetails").value = country;
window.location= "javascript: manipulateForm('"+countryCode+"');";

document.getElementById("phoneWhole").value = phoneWhole;

document.getElementById("firstName").value = firstName;
document.getElementById("lastName").value = lastName;

document.getElementById("address1").value = address1;
document.getElementById("address2").value = address2;

document.getElementById("city").value = city;
document.getElementById("state").value = state;
document.getElementById("zip").value = zip;

document.getElementById('recaptcha_response_field' ).focus();

Может кто знает еще способ, помогите, буду очень благодарен

Limon 15.06.2010 01:46

ой, саму ссылку на форму заполнения забыл написать :) ВОТ

Octane 15.06.2010 02:26

К каждому input привязан label:
<label for="input-id">text</label>

можно вытаскивать текст из label и находить соответствующий input по id, взятому из атрибута for.

Limon 15.06.2010 02:39

Извини конечно, но я в js не очень разбираюсь, не мог бы разъяснить чуток :)

Limon 15.06.2010 02:42

а лучше пример привести или, если не сложно, сделать полность ;)

Octane 15.06.2010 02:55

Тут особых знаний не нужно, находишь форму с идентификатором shippingForm, затем получаешь список всех <label> внутри этой формы, проходишь по ним в цикле, доставая из атрибута for (свойство htmlFor) идентификатор связанного <input>, а что подставлять в value для <input>, определяешь по значению label.innerHTML.

За готовым скриптом обращайтесь в раздел работа.

Limon 15.06.2010 04:13

так, ну вот нашел, допустим имя:
<label id="lbFirstName" for="fn_11121">FIRST NAME<span
 class="mandatory">*</span></label>

                    	<input value="ИМЯ" id="fn_11121" 
name="fn_11121" class="shipBox" maxlength="20" autocomplete="off" 
type="text">


fn_11121 - вот это значение как раз таки меняется, ты может не понял меня или я тебя не понял :D

Octane 15.06.2010 04:23

for="fn_11121" и id="fn_11121" не видите что ли?

Limon 15.06.2010 04:33

вижу, и что? эти значения каждый раз меняются! еще раз сказать?

Octane 15.06.2010 04:34

Текст метки "FIRST NAME" не меняется, и метка однозначно связана с полем ввода (for → id), еще раз объяснить?


Часовой пояс GMT +3, время: 11:00.