Jump to content
php.lv forumi
  • 0

paslēpt - parādīt kontroļus


echo

Question

Kā pareizi izdarīt sekojošo:

 

 

Formā ir iespēja izvēlēties vai tā būs juridiska persona vai fiziska.

<tr>

<td>Klienta tips: </td>

<td><input type="radio" name="group_type" value="fiziska"> Fiziska persona<br>

<input type="radio" name="group_type" value="juridiska" checked> Juridiska persona<br></td>

</tr>

 

Un ir kolonnas - vārds un uzvārds.

<tr> <td>Vārds: </td> <td><input type="text" name="txtName" maxlength="30"/></td> </tr>

<tr> <td>Uzvārds: </td> <td><input type="text" name="txtSurname" maxlength="30"/></td> </tr>

<tr> <td>Uzņēmuma nosaukums: </td> <td><input type="text" name="txtEnterpriseName" maxlength="100"/></td> </tr>

 

Kā lai izdara, lai - ja radiobutton ir fiziska persona, tad rādās gan vārds, gan uzvārds.

Ja radiobutton ir juridiska persona, tad rāda tikai uzņēmuma nosaukums.

 

Šādi ir ar ļoti daudzām kolonnām - atkarībā no radiobuttona kādas 10 kolonnas mainās (vai tās rāda, vai nerāda).

 

Man šķiet, ka tas darāms ar JavaScript, bet pagaidām tikai mācos...

Edited by echo
Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 0

Tu label tagu izmanto nepareizi. To jālieto tikai apkārt tekstam, kas attiecas uz konkrēto labeli:

<br /> Klienta tips:
<br />
<input type="radio" name="group_type" value="fiziska"> Fiziska persona<br>
<input type="radio" name="group_type" value="juridiska" checked> Juridiska persona<br>
<br/>

Un ir kolonnas - vārds un uzvārds.
<br /><label for="txtName">Vārds</label>: <input type="text" id="txtName" name="txtName" maxlength="40"/>
<br /> <label for="txtSurname">Uzvārds</label>: <input type="text" id="txtSurname" name="txtSurname" maxlength="40"/>
<br /> <label for="txtTitle">Nosaukums</label>: <input type="text" name="txtTitle" maxlength="40"/>

(ieteiktu arī izmest ārā tos <br/> tagus un lietot izskata formēšanai CSS, bet nu tā ir cita tēma)

 

Par tavu lauku slēpšanu - pieliec tiem inputiem onchange eventu: onchange="person_changed();"

Un uztaisi javaskriptā funkciju person_changed, kurā vai nu slēp, vai nu rādi vajadzīgos laukus:

function person_changed()
{
var fiziska_persona = document.getElementsByName("group_type")[0].checked;
$("txtName").style.display = fiziska_persona ? "inline" : "none";
$("txtSurname").style.display = fiziska_persona ? "inline" : "none";
$("txtTitle").style.display = fiziska_persona ? "none" : "inline";
}

(šeit ar $ domāts funkcija, kas atgriež elementu pēc tā id - document.getElementByID)

Link to comment
Share on other sites

  • 0

bubu: es noeditēju postu laikam pirms tu atbildēji - es nomainīju labelus pret tabulu, vai tas ir normāli (vai arī labāk tomēr ar to css?)

Tad tas javascripts jāpieliabot, lai viņš slēptu/rādītu tabulas rindiņas?

Link to comment
Share on other sites

  • 0

Tas saucās semantika un zinātnieki joprojām strīdas, kas ir labāk :) Īsi sakot garo tekstu - tabulas vajag izmantot tabulāriem datiem, bet CSS pārējā noformatēšanai. Tava input forma neizskatās pēc tabulāriem datiem, tāpēc tomēr tabulas tur īsti pēc savas būtības (tabula) neiederās. Savu input formu vari noformatēt diezgan viegli arī ar CSS: http://www.alistapart.com/articles/prettyaccessibleforms

 

Javaskriptam par noformējumu liels vienalga - tas strādās arī tavā tabulu variantā.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...