Autor Zpráva
JJa
Profil
Dobrý den, chtěl bych se zeptat na toto:
Na jedné stránce (stranka1.html) mám klasický formulář s několika poli (tedy textovými inputy). No a pak mám druhou, jinou, stránku (stranka2.html) a potřeboval bych na této druhé stránce mít odkaz (např. <a href="stranka1.html?prvnipole=Nějaký text">Vyplnit 1.pole formuláře</a> ), na který když se klikne, tak se zobrazí první stránka, která bude mít ovšem první pole formuláře vyplněno textem (např. Nějaký text).
Jak lze toto udělat?
Moc děkuji za odpovědi, JJa
fajzen
Profil
dá sa to spraviť buď cez PHP (odporúčam) alebo cez javascript...

PHP:
stranka1.php:
echo '<input type="text" value="' . @$_GET['prvnipole'] . '" />';


JavaScript:
stranka1.html (môže byť aj iná prípona)

<input type="text" id="prvnipole" />
<input type="text" id="druhepole" />

<script language="javascript">
    var pole = window.location.search.substr(1).split('&');

    for(var i = 0; i < pole.length; i++) {
        var casti = pole[i].split('=');

        if(document.getElementById(casti[0])) {
            document.getElementById(casti[0]).value = unescape(casti[1]);
        }
    }
</script>
JJa
Profil
fajzen:
Moc děkuji za odpověď, funguje to výborně.

Ještě bych měl jeden dotaz:
Výše uvedeným způsobem je vyřešeno to, když se stranka1.html znovu celá otvírá. Ještě bych potřeboval vyřešit situaci, kdy mám stranku1 otevřenou a některá form. pole na ní již vyplněná a chci odkazem ze stranky2 (která je umístěná v iframe na strance1) vyplnit další pole tak, aby text v již vyplněných polích zůstal zachován. Jde to nějak?
Děkuji moc, JJa
fajzen
Profil
ide to, ale prístup je úplne iný... skúsim načrtnúť:

stranka1.html
<input type="text" id="prvnipole" />
<input type="text" id="druhepole" />
<iframe src="stranka2.html"></iframe>


stranka2.html (iframe)
<script language="javascript">
        // zoznam predvolených hodnôt v tvare id => value
	var hodnoty = new Array();
	hodnoty['prvnipole'] = 'ahoj';
	hodnoty['druhepole'] = 'hello';

	function napln()
	{
		for(var i in hodnoty) {
			if(parent.document.getElementById(i) && parent.document.getElementById(i).value == '') {
				parent.document.getElementById(i).value = hodnoty[i];
			}
		}
	}
</script>

<a href="#" onclick="napln();">Naplň inputy</a>
JJa
Profil
Ještě mám jeden problém, a sice, že tento kód

stranka1.html (môže byť aj iná prípona)

<input type="text" id="prvnipole" />
<input type="text" id="druhepole" />

<script language="javascript">
    var pole = window.location.search.substr(1).split('&');

    for(var i = 0; i < pole.length; i++) {
        var casti = pole[i].split('=');

        if(document.getElementById(casti[0])) {
            document.getElementById(casti[0]).value = unescape(casti[1]);
        }
    }
</script>

mi nefunguje ve Firefoxu. Co bych s tím mohl udělat, aby to šlo?
Děkuji moc, JJa

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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