Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]Automatyczne uzupełnianie forumlarza - pomoc!
Forum PHP.pl > Forum > Przedszkole
Kicha
Witam,

może najpierw przedstawię sytuację. Chcę, aby JS wypełnił mi dany formularz na stronie. Dokładniej na tej: http://symulator.lockerz-poland.eu/redeem.html

Ale to tylko symulator, i tu się pojawia problem... Każdego razu, gdy na jednej stronie jest dostępny ten formularz, Admini bawią się z Nami w kotka i myszkę - dodają w ID zamiast "FirstName", np. "__First_Name". Jeden "typek z branży" podobno znalazł na to rozwiązanie.... JS rozpoznaje zawsze, iż jest to FirstName, niezależnie od podłóg czy losowych ciągów cyfr i liter.

Mój skrypt wygląda tak:

Kod
var country = "Poland";
var countryCode = "PL";

var phoneOne = "000";
var phoneTwo = "000";
var phoneThree = "000";
var phoneWhole = "0048xxxxxxxxx";

var firstName = "imie";
var lastName = "nazwisko";

var address1 = "adres";
var address2 = "";

var city = "miasto";
var state = "PL";
var zip = "kod pocztowy";

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= "java script: manipulateForm('"+countryCode+"');";

document.getElementById("phoneOne").value = phoneOne;
document.getElementById("phoneTwo").value = phoneTwo;
document.getElementById("phoneThree").value = phoneThree;
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();



Jakieś sugestie względem tego, aby nie trzeba było zgadywać, co administracja zrobi? Niestety nie znam tak dobrze JS, dlatego pytam Was....
varez
1.
nie wiem po co takiego bota piszesz w JS.. jak to ma dzialac?
nie lepiej PHP+curl i od razy POSTy słać?

2: regularne zamienianie
Kod
costam = "__FirstName".replace(/[^a-zA-Z0-9]+/,"");
alert(costam);
Kicha
Ten "bot" ma mi wypelniac formularz sam...
Dzieki smile.gif

Ale to jest php;/
A ja potrzebuje takiego kodu w Javascript
Ma uzupelniac pole bez wzgledu na to czy jest w id __firstName, firstName czy _firstName_
Ma to byc skrypt do GreaseMonkey
varez
to jest JS koleś..

Ale w sumie Ci napisałem "odwrotnie"..

jQuery + plugin do selektorów po wyrażeniach regularnych..
albo poszukaj i się naucz, albo poczekaj, aż zachce mi się to zrobić dla Ciebie, czyli pewnie nie dziś
Kicha
Nom juz widze... Sory ja glupi troszke w tym haha.gif Zmylilo mnie cos
To ja poproboje zrobic to... A w tym czasie poczekam az ci sie zachce smile.gif

Probowalem cos napisac edytowac... Ale ciezko... Mozesz cos wiecej podpowiedziec jak to ma wygladac?
varez
  1. <input name="__FirstName_" value="aaa" />
  2. <input name="__First-x-666-x-Name___" value="vvv" />
  3. <input name="__InnyName___" value="vvvxx" />


Kod
$('input:regex(name,(.*)First(.*)Name(.*))').each(function() {
    $(this).attr('value', 'Imie moje');
});


mam nadzieje ze plugin masz ten co ja tongue.gif ja go sciagnalem z pol roku temu i nawet nie wiem skad, gdzies na stackoverflow byl link
Kicha
Zrobilem troszke inaczej jak mi jeden ziomek mowil bo z twojego cos mi nie wychodzilo.
Nie wiem co mi nie dziala... Moze pokaze kod bo moglem cos zle zrobic...

Kod
// ==UserScript==
// @name                *
// @namespace           *
// @description         *
// @include                     *
// @include                     *
// @require                     http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js
// @version                     1.0
// ==/UserScript==

$('form[name=nazwa_formularza_czy_coś_takiego] input').each(function() {
switch (this.name.replace(/[^a-z0-9]+/i, '')) {
case 'state': this.value = 'PL'; break;
case 'state': this.value = '--'; break;
case 'country': this.value = '--'; break;
case 'countryCode': this.value = '--'; break;
case 'phoneOne': this.value = '--'; break;
case 'phoneTwo': this.value = '--'; break;
case 'phoneThree': this.value = '--'; break;
case 'phoneWhole': this.value = '--'; break;
case 'firstName': this.value = '--'; break;
case 'lastName': this.value = '--'; break;
case 'address1': this.value = '--'; break;
case 'address2': this.value = ''; break;
case 'city': this.value = '--'; break;
case 'zip': this.value = '--'; break;
case 'recaptcharesponsefield': $(this).focus(); break;
}
});



Nie wiem jak zrobic aby wybieral kraj z listy rozwijanej. Chyba ze jest dobrze tongue.gif
Oczywiscie zeby nie bylo w include podaje strone ale nie dziala.
Pewnie cos zle robie, no nic czekam na odpowiedz wasza.
Dziekuje za dotychczasowo udzieloną pomoc.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.