Autor Zpráva
Ford
Profil
Dobrý den.

Na stránce mám formulář s jedním objektem typu <select> s několika <options>. K hodnotě tohoto objektu lze po odeslání 'submit' tlačítka přistoupit z PHP pomocí metody $_POST['select_name'].

Rozhodl jsem se však, že bude možno dynamicky přidávat další (totožné) objekty <select> a to Javascriptovou metodou '.cloneNode'. Klonování funguje bezchybně. Každému novému objektu přiřadím jedninečné id ve tvaru 'selectX', kde X je číslo aktuálního počtu objektů typu <select> (po přidání nového prvku <select> se inkrementuje o 1).

Problém nastává, když chci zpracovat hodnoty těchto dynamicky vytvořených objektů v PHP. Z nějakého důvodu dokáže PHP metodou $_POST['selectX'] přistoupit pouze k původnímu selectu a naklonované nevidí.

if (isset($_POST['confirm']))
{
	$i = 1;
	while (isset($_POST["select".$i]))
	{
		echo $_POST["select".$i];
		$i++;
	}
}
.. vypíše pouze hodnotu původního prvku <select>


Otázky: Proč to nefunguje tak, jak bych chtěl? Jak se tohle standardně řeší?

Díky za odpověď.
_es
Profil
Ford:
Proč to nefunguje tak, jak bych chtěl?
Asi bude nejaká chyba v JS, aká, asi ťažko niekto správne tipne, keďže si tu nedal kód. Najlepšia by bola „živá“ ukážka.
Tori
Profil
Ford:
Každému novému objektu přiřadím jedninečné id ve tvaru 'selectX'
Ale v $_POST se form.prvky rozlišují podle vlastnosti name, nikoli id (pokud se nepletu).
Ford
Profil
Tori:
Díky, problém vyřešen změnou 'id' na 'name'. Jste geniální.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0