Autor Zpráva
František
Profil *
Zdravím. Tato javascriptová funkce slouží pro odeslání formuláře.

Vše funguje, ale odesílá to pouze proměnnou name (řádek ...... postBody: 'name='+ $F('name'), ......). Nemohl by mi někdo poradit, jak do tohoto kódu přiřadit další proměnnou?

Případně kdyby měl někdo odkaz na článek, kde by se to dalo nastudovat, byl bych vděčný.

Děkuji

	function poslipryc() {
				new Ajax.Request('test.php', 
					{ 
					method: 'post', 
					postBody: 'name='+ $F('name'),
					onComplete: showResponse
					});
				}
Radek9
Profil
František:
postBody: "name="+$F('name')+"&dalsi=neco&a_dalsi=neco…"
František
Profil *
měl bych raději dříve myslet, než začnu psát :). Nakonec jsem na to přišel, ale i tak díky moc za velmi rychlou odpověď..

postBody: 'name='+ $F('name')+'&cas='+ $F('hodiny'),
Chamurappi
Profil
Reaguji na Františka:
Doufám, že do toho řetězce dáváš proměnné patřičným způsobem ošetřené, pokud to jsou uživatelské vstupy…
František
Profil *
Chamurappi:
To mě nenapadlo. Tedy ošetřuji je dříve, než se s nimi začne pracovat v PHP... Ale skrz ten javascript projíždí neošetřené.. Teď se mi přes formulářové políčko povedlo vytvořit další řetězec...
name')+'&hack='+ $F('hackano
. Dá se to nějak ošetřit před "vstupem" do javascriptu?
Chamurappi
Profil
Reaguji na Františka:
Dá se to nějak ošetřit před "vstupem" do javascriptu?
Před vstupem do adresy. Ano, dá, funkcí encodeURIComponent.
ah01
Profil
František:
Pokud už používáš nějaká framework (v tomto případě to vypadá na Prototype), bývá celkem užitečné, nastudovat si dokumentaci. Drtivou většinu takovýchto běžných starostí za tebe framework řeší (proto ho taky používáš, ne).

function poslipryc() {
  var parametry = $H({
    name: $F("name"), 
    cas: $F("hodiny")
  });
  
  new Ajax.Request('test.php', 
  { 
    method: 'post', 
    parameters: parametry,
    onComplete: showResponse
  });
}

A to se ti samo postará o správné vytvoření požadavku, včetně ošetření proměnných.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: