| Subiectul anterior :: Subiectul următor |
| Autor |
Mesaj |
Birkoff
Data înscrierii: 18/Mar/2004
Mesaje: 2449
Locație: Bucuresti
|
| Trimis: Mie Dec 22, 2004 5:49 pm Titlul subiectului: Problema cu form select si java |
|
|
Salut
Am si eu o problema si cred ca se rezolva cu un script java da nu prea ma descurc in java...
Ideea e urmatoarea:
am un formular cu 2 selecturi:
an style="color: #000000"><?php <form name="form1" method="post" action="">
tip:
<select name="tip" id="tip">
<option value="1" selected>orizontal</option>
<option value="2">vertical</option>
</select>
<br>
stare:
<select name="select">
<option value="1" selected>sus</option>
<option value="2">mijloc</option>
<option value="3">jos</option>
<option value="1">dreapta</option>
<option value="2">stanga</option>
</select>
</form>
ideea e ca vreau daca selectez in primul orizontal in al doilea sa apara doar sus, mijloc, jos
iar daca selectez in primul vertical in al doilea select sa apara doar dreapta si stanga
Stie careva cum se face?
Una bucata cod ar fi perfect. :cry: |
|
| Sus |
|
ExcalIbvr
Data înscrierii: 02/Mai/2004
Mesaje: 1107
Locație: Oradea
|
| Trimis: Mie Dec 22, 2004 6:07 pm Titlul subiectului: |
|
|
Imi vin in minte acum 2 modalitati de a face asta. Iti spun ideile, codul nu il am la indemana:
1. Ai un select cu orizontal si vertial.
Faci 2 <div>uri care initial is ascunse. In primul ai un select cu sus, mijloc, jos, iar in al doilea div ai un select cu dreapta, stanga.
Apoi, cu Javascript verifici care optiune din primul select (orizontal, vertical) a fost selectata si faci vizibil <div>ul corespunzator.
Codul XHTML ar arata cam asa:
Cod: <form name="form1">
<select name="selecteaza" onChange="arataDiv()">
<option value="1">orizontal</option>
<option value="2">vertical</option>
</select>
<div id="divOrizontal" style="visibility:hidden">
<select><option>.... etc etc </select>
</div>
<div id="divVertical" style="visibility:hidden">
<select><option>.... etc etc </select>
</div></form>
Apoi functia arataDiv()...
Cod: <script>
function arataDiv()
{
if (document.form1.selecteaza.value==1)
document.getElementById('divOrizontal').style.visibility="visible";
else if (document.form1.selecteaza.value==2)
document.getElementById('divVertical').style.visibility="visible";
}
</script>
Asta ar fi, in mare, prima varianta. Teoretic, tre' sa functioneze...
2. A doua varianta presupune un cod DHTML mai complicat si anume generarea dinamica a optiunilor celui de-al doilea select. Cred ca e mai eleganta aceasta a 2a metoda - Google rulez! :D |
|
| Sus |
|
eyecon
Data înscrierii: 05/Noi/2002
Mesaje: 180
|
| Trimis: Mie Dec 22, 2004 6:36 pm Titlul subiectului: |
|
|
e facut cam pe graba
Cod: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script language="JavaScript" type="text/javascript">
<!--
function modifica(){
selectat = document.formular.grup1.selectedIndex;
document.formular.grup2.selectedIndex = null;
document.formular.grup2.innerHTML = "";
switch(selectat){
case 2:
document.formular.grup2.options[document.formular.grup2.options.length] = new Option("optiunea 2 - suboptiunea 1", "valoarea 1");
document.formular.grup2.options[document.formular.grup2.options.length] = new Option("optiunea 2 - suboptiunea 2", "valoarea 2");
document.formular.grup2.options[document.formular.grup2.options.length] = new Option("optiunea 2 - suboptiunea 3", "valoarea 3");
break;
case 1:
default:
document.formular.grup2.options[document.formular.grup2.options.length] = new Option("optiunea 1 - suboptiunea 1", "valoarea 1");
document.formular.grup2.options[document.formular.grup2.options.length] = new Option("optiunea 1 - suboptiunea 2", "valoarea 2");
document.formular.grup2.options[document.formular.grup2.options.length] = new Option("optiunea 1 - suboptiunea 3", "valoarea 3");
document.formular.grup2.options[document.formular.grup2.options.length] = new Option("optiunea 1 - suboptiunea 4", "valoarea 3");
break;
}
}
//-->
</script>
</head>
<body>
<form action="" method="post" name="formular">
<select name="grup1" onchange="modifica()">
<option>Alege</option>
<option value="1">optiunea 1</option>
<option value="2">optiunea 2</option>
</select>
<select name="grup2"></select>
</form>
</body>
</html>
|
|
| Sus |
|
Birkoff
Data înscrierii: 18/Mar/2004
Mesaje: 2449
Locație: Bucuresti
|
| Trimis: Mie Dec 22, 2004 7:38 pm Titlul subiectului: |
|
|
multumesc eyecon cu cateva modificari mi-a mers perfect scriptul tau. E vre-o problema daca partea cu functia nu o bag in head ci o bag in body? am testat si merge si asa da vreau sa ma asigur ca nu apar probleme...
ideea e ca valorile care se afiseaza in select sunt luate din bd si asa cum am facut scriptul nu pot sa bag functia in head ci doar in body...
oricum vad ca merge bine pe toate browserele pe care am testat... |
|
| Sus |
|
eyecon
Data înscrierii: 05/Noi/2002
Mesaje: 180
|
| Trimis: Mie Dec 22, 2004 8:34 pm Titlul subiectului: |
|
|
| oriunde in body inainte de form |
|
| Sus |
|
Birkoff
Data înscrierii: 18/Mar/2004
Mesaje: 2449
Locație: Bucuresti
|
| Trimis: Vin Ian 07, 2005 2:40 pm Titlul subiectului: Revin |
|
|
Revin cu o noua problema asemanatoare...
Am un form cu un camp checkbox si vreau asa:
1. daca casuta e bifata si se apasa pe butonul verificare sa ii apara un mesaj (exemplu: ai bifat casuta) si sa nu mearga mai departe, adica sa nu faca submit
2. daca casuta nu e bifata, atunci indiferent pe ce buton se apasa sa se faca submit si sa se trimita datele catre verificare.php
an style="color: #000000"><?php <form name="form1" method="post" action="verificare.php">
Casuta
<input type="checkbox" name="casuta" value="checkbox">
<br>
<input name="Submit" type="submit" value="Verificare">
<input name="Submit" type="submit" value="Trimitere">
</form>
Ma puteti ajuta? Daca nu, atunci cred ca trebuie sa invat java in loc de php :cry: |
|
| Sus |
|
ExcalIbvr
Data înscrierii: 02/Mai/2004
Mesaje: 1107
Locație: Oradea
|
| Trimis: Vin Ian 07, 2005 4:11 pm Titlul subiectului: |
|
|
Deci, codul JavaScript pentru ce vrei tu ar fi cam asa (poate un pic ex-burtis, da' posibil sa mearga din prima! :D)
Cod: <form name="form1" method="post" action="verificare.php" onSubmit="checkIt()">
Casuta
<input type="checkbox" name="casuta" value="checkbox">
<br>
<input name="Submit" type="submit" value="Verificare">
<input name="Submit" type="submit" value="Trimitere">
</form>
<script>
function checkIt()
{
if (document.form1.casuta.checked==true)
{
alert('Ai bifat...');
return false;
}
else if (document.form1.casuta.checked==false)
{
return true;
}
}
</script>
Hmmm... mda... cam asta ar fi. Sa-mi spui daca merge. :wink: |
|
| Sus |
|
ExcalIbvr
Data înscrierii: 02/Mai/2004
Mesaje: 1107
Locație: Oradea
|
| Trimis: Vin Ian 07, 2005 4:12 pm Titlul subiectului: |
|
|
Si revin cu o modificare:
OnSubmit="checkIt()" tre' sa fie OnSubmit="return checkIt()" si merge. |
|
| Sus |
|
Birkoff
Data înscrierii: 18/Mar/2004
Mesaje: 2449
Locație: Bucuresti
|
| Trimis: Vin Ian 07, 2005 4:33 pm Titlul subiectului: |
|
|
Da merge, multumesc mult din nou :wink:
Daca esti curios la ce imi trebuie, fac un CMS si la modulul de adaugat continut in site imi trebuia chestia asta, oricum intra si tu poate imi dai ceva idei - http://www.php4.as.ro/test/far/index.php |
|
| Sus |
|
Birkoff
Data înscrierii: 18/Mar/2004
Mesaje: 2449
Locație: Bucuresti
|
| Trimis: Vin Ian 07, 2005 5:31 pm Titlul subiectului: |
|
|
De fapt codul tau nu merge.
Cum am zis am 2 butoane unul care trimite datele daca nu e bifata casuta si unul care trebuie sa trimita datele indiferent de starea casutei. In cazul tau al 2-lea caz nu merge, imi apare tot mesajul respectiv
In schimb m-am jucat putin si am facut asa:
Cod:
<form name="form1" method="post" action="verificare.php">
Casuta
<input type="checkbox" name="casuta" value="checkbox">
<br>
<input name="Submit" type="submit" value="Verificare" onClick="return checkIt()">
<input name="Submit" type="submit" value="Trimitere">
</form>
si vad ca asa merge de e corect? adica sa nu imi dea cine stie ce eroare pe alte browsere... |
|
| Sus |
|
ExcalIbvr
Data înscrierii: 02/Mai/2004
Mesaje: 1107
Locație: Oradea
|
| Trimis: Vin Ian 07, 2005 5:57 pm Titlul subiectului: |
|
|
Mda, nu am inteles asta din felu' cum ai pus problema.
Oricum, daca modifici putin codul iti merge.
Modificari:
1. Scoti OnSubmit din tag-ul <form>
2. Pui atributul OnClick="checkIt()" in interiorul tag-ului input corespunzator butonului nr. 1, care trimite datele doar daca nu e bifata casuta.
3. Codul JavaScript pt. a trimite datele din formular este: (this.)document.FormName.submit() (cu sau fara this.) - testeaza. Codu' asta il pui unde crezi de cuviinta. :wink:
P.S. Ce e FAR PHP? CMS. Ai vreun scop cu el in afara de a invata chestii? |
|
| Sus |
|
Birkoff
Data înscrierii: 18/Mar/2004
Mesaje: 2449
Locație: Bucuresti
|
| Trimis: Vin Ian 07, 2005 6:38 pm Titlul subiectului: |
|
|
Da acum merge fara probleme, vroiam doar da stiu daca am facut ok...
ExcalIbvr a scris: P.S. Ce e FAR PHP? CMS. Ai vreun scop cu el in afara de a invata chestii?
ideea este ca vreau sa fac un CMS mai bun ca php-nuke de exemplu si mai usor de adaptat template la el...
Inca se lucreaza la el, dar in ritmul in care lucram cred ca intr-o luna o sa scoatrem prima versiune functionala si poate o sa te lamuresti mai mult atunci.
Ca functionalitate, se poate adapta la aproape orice tip de site, alegand o tema si adaugand modulele respective.
Cat despre template, se poate folosi orice template cu conditia sa respecte structura propusa si acolo unde se doreste afisarea continutului si a meniurilor sa se bage un anumit cod php... Mai multe detalii si discutii despre el gasesti aici |
|
| Sus |
|
ExcalIbvr
Data înscrierii: 02/Mai/2004
Mesaje: 1107
Locație: Oradea
|
| Trimis: Vin Ian 07, 2005 9:12 pm Titlul subiectului: |
|
|
Aha... 3 chestii atunci si as vrea sa fiu de ajutor cu ele:
1. Folosesti css in interiorul fisierelor html. E vreun motiv special pentru care faci asta? Mai ales ca va fi template-based, codul html tre' sa fie acelasi, aspectul fiind controlat in intregime de un .css extern. De-acord?
2. Layout facut cu tabele. Poate ar fi mai simplu cu div-uri... mai ales ca lucrezi cu css si cu template-uri.
3. Folosesti Smarty? Sau alt template engine? Exista cod php in cadrul codului html? Ar fi bine sa nu fie...
Succes la dezvoltarea aplicatiei! :D |
|
| Sus |
|
PHPRomania Bot
Bot Member
Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google |
| Trimis: Mie Dec 26, 2007 7:01 pm Titlul subiectului: Ad |
|
|
|
|
|
| Sus |
|
| |