Portál AbcLinuxu, 27. dubna 2024 06:45


Dotaz: PHP formulář a jeho odeslání pomocí JS

5.5.2009 22:11 Jeason | skóre: 16 | Plzeň
PHP formulář a jeho odeslání pomocí JS
Přečteno: 351×
Odpovědět | Admin

Zdravím Vás,

potřebovyl bych poradit, jak řešit následující situaci:

Mám systém, do kterého vkládám pořád stejná data, vzhledem k tomu že se jedná o přetypovávání dat, je možné udělat script, který se přihlásí za mě a pomocí CURL(); vyplní data do zvoleného formuláře a pomocí post metody odešle. Toto je jednoduché, ovšem mam formulář, který se odesílá pomocí tlačítka : <input type="image" src="odeslat.jpg" onClick="Send(form.this,"Odeslat");" />

 

Bohužel u takovéhoto formuláře si nevím rady jak udělat script, aby data odeslal za mě místo ručního typování.

Jedná se sice o "prográmeček",který zpracovává záznam jeden po druhém, ale nestane se chyba z překlepů.

(pro představu si můžete představit externí formulář s právem na zalogování a odesláním dat na stránku která by data zpracovala, jen nevím jak inicializovat scrip, který poslaná data zpracuje)

 

Jak byste poradili tuto situaci vyřešit?

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

5.5.2009 23:45 Andrej Herceg | skóre: 43
Rozbalit Rozbalit vše Re: PHP formulář a jeho odeslání pomocí JS
Odpovědět | | Sbalit | Link | Blokovat | Admin
Čo presne robí tá funkcia Send? Určite nejakým spôsobom odošle ten formulár napr. pomocou form.submit(), alebo pomocou Ajax a GET či POST, takže si stačí tú funkciu pozrieť a urobiť to isté (čiže nasimulovať tú metódu odosielania).

PS: Na zistenie spôsobu odosielania stačí pozrieť vo Firebug, aké dáta a akou metódou sa odosielajú.
5.5.2009 23:49 Andrej Herceg | skóre: 43
Rozbalit Rozbalit vše Re: PHP formulář a jeho odeslání pomocí JS
Inak, pri input typu image sa automaticky pridajú súradnice bodu, na ktorý sa kliklo (ak je atribút name toho elementu btn, tak sa pridajú parametre btn_x a btn_y).
6.5.2009 12:19 Jeason | skóre: 16 | Plzeň
Rozbalit Rozbalit vše Re: PHP formulář a jeho odeslání pomocí JS

Ten script dělá to že se předá ID prvku ze kterým pracuji (pomoci formuláře) a vykoná s ním akci - odešle ten formulář.

 

6.5.2009 12:31 Jeason | skóre: 16 | Plzeň
Rozbalit Rozbalit vše Re: PHP formulář a jeho odeslání pomocí JS

 

// IMAGE CLICK FORM SEND
function SendForm(fForm, sVal, InputName) {
for (var i=0;i<fForm.elements.length;i++) {
if (InputName == null) {
if (fForm.elements[i].name != 'PHPSESSID') {
fForm.elements[i].value = sVal;
break;
}
} else {
if (fForm.elements[i].name == InputName) {
fForm.elements[i].value = sVal;
break;
}
}
}

fForm.submit();
return false;
}

 

 

6.5.2009 14:30 Andrej Herceg | skóre: 43
Rozbalit Rozbalit vše Re: PHP formulář a jeho odeslání pomocí JS
Ten form obsahuje iba jeden input element (vlastne jeden, čo nemá meno PHPSESSID)? (lebo celé to nastaví hodnoty všetkých elementov, okrem toho, čo má názov PHPSESSID, na "Odeslat" a formulár sa normálne odošle)
6.5.2009 12:20 Jeason | skóre: 16 | Plzeň
Rozbalit Rozbalit vše Re: PHP formulář a jeho odeslání pomocí JS

Firebug sem už zkoušel, ale nevím v čem to tam odtrasovat a pak jak ty data poslat pres http hlavičku.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.