Autor Zpráva
Stepanka
Profil *
Ahoj,
prosím neporadil by mi někdo?

Mám nějaký takovýto formulář:

<form method="post" action="">

echo "DOBIRKA"
  <select name=\"dobirka\" size=\"1\" />
  <option value=\"a\"";
  if($dobirka=="a"){echo " selected ";}
    echo ">".__ANO__."</option>
    <option value=\"n\"";
  if($dobirka=="n"){echo " selected ";}
    echo ">".__NE__."</option>
  </select>

echo 'ZKRATKA'
  <input size="10"  type="text" name="zkratka" value="'.$zkratka.'" />

echo "SLEDOVANI_ZASILEK"
  <select name=\"sledovani_zasilek\" size=\"1\"/> 
  <option value=\"1\"";
  if($sledovani_zasilek==1){echo " selected ";}
    echo ">".__ANO__."</option>
    <option value=\"0\"";
  if($sledovani_zasilek==0){echo " selected ";}
    echo ">".__NE__."</option>
  </select>

echo 'URL:
<input type="text" name="url_cz">';

echo '<input type="submit" name="uloz_edit" value="'.__ULOZIT__.'">';


A já bych ten poslední input (<input type="text" name="url_cz">) potřebovala zobrazit AŽ KDYŽ uživatel klikne na Sledovani_zasilek = ANO. Jinak přístupný být nemá.

Nějaké vnořené formuláře mi nefungují, a už si nevím rady..

Předem mockrát děkuju!
pEeLL
Profil
pridal bych asi udalost onclick a po kliknuti bych prvek pridal pomoci document.createElement('input') atd. nebo by mohl byt bych schovany pomoci css a po kliknuti by se jen zobrazil.
Stepanka
Profil *
pEeLL
Děkuji za radu.. Můžu se ještě zeptat pro upřesnění na tu první možnost?

Když dám

echo "<tr><td>".__SLEDOVANI_ZASILEK__."</td><td>
   		<select name=\"sledovani_zasilek\" size=\"1\" /> 
        	<option onclick=\"document.createElement('input');\" value=\"1\"";
        	if($sledovani_zasilek==1){echo " selected ";}
         	echo ">".__ANO__."</option>
        	<option onclick=\"document.createElement('input');\" value=\"0\"";
        	if($sledovani_zasilek==0){echo " selected ";}
            echo ">".__NE__."</option>
    		</select>
    		</td></tr>";


a potom

<input name="input" size="50" type="text" name="url_cz" value="'.$url_cz.'" />


tak to vůbec nic nedělá. Když dám onchage k SELECTu, tak taky ne. Nevím třeba, co dosadit za 'input' v document.createElement('input').. Jaké tam mám chyby?
Stepanka
Profil *
A nebo jakým způsobem by se to dalo schovat pomocí CSS?
Ale tak, aby se to objevilo (schovalo) hned, ne až po kliknutí na "Uložit".

Mockrát děkuju.
pEeLL
Profil
musis si v js udelat funkci treba pridejInput();
pak das onclick=\"pridejInput();\"

do te funkce je potreba mimo samotneho vytvoreni
var input = document.createElement('input');
jeste pridat vlastnosti napr
input.setAttribute('type', 'text' );
input.setAttribute('size', '50' );
atd
najit si prvek do ktereho to chces vlozit
var prvek = document.getElementById('id prvku');
a pak do nej ten novy input vlozit
prvek.appendChild(input);

snad jsem to napsal dobre kdyztak nekdo kdo umite js lip me opravte
Stepanka
Profil *
Nevěděla jsem úplně přesně, jak to z Tvého popisu poskládat, tak jsem to udělala takhle

?><script>
		  function pridejInput();
		  var input = document.createElement('input'); 
		  input.setAttribute('type', 'text' );
		  input.setAttribute('size', '50' ); 
		  var prvek = document.getElementById('idprvku'); 
		  prvek.appendChild(input); 
		  </script><?php
		  
      
     	 	echo "<tr><td>".__SLEDOVANI_ZASILEK__."</td><td>
   		<select name=\"sledovani_zasilek\" size=\"1\"/> 
        	<option onclick=\"pridejInput();\" value=\"1\"";
        	if($sledovani_zasilek==1){echo " selected ";}
         	echo ">".__ANO__."</option>
        	<option value=\"0\"";
        	if($sledovani_zasilek==0){echo " selected ";}
            echo ">".__NE__."</option>
    		</select>
    		</td></tr>";
	 
	 		
			echo '<div id="idprvku"></div>';



Ale bohužel se mi DIV s inputama nikdy neobjeví :-(
pEeLL
Profil
function pridejInput() {
var input = document.createElement('input'); 
input.setAttribute('type', 'text' );
input.setAttribute('size', '50' ); 
var prvek = document.getElementById('idprvku'); 
prvek.appendChild(input); 
}
Stepanka
Profil *
pEeLL
Děkuju moc, to jsem přehlídla.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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