HTML

Marius '95

Membru Senior
Joined
Nov 13, 2005
Location
Brăila
Ma sacaie o intrebare: Cum fac intr-o pagina html cu un formular sa-mi apara cursorul tastaturii direct intr-unul din campuri, fara sa fie nevoie de un clic?
Sau cum fac ca un anumit buton "submit" sa fie preselectat, adica sa trebuiasca doar sa apas tasta "space" ca sa apas butonul.
 

puterfixer

Administrator
Sugar daddy
Joined
Oct 30, 2003
Cu un scriptuleţ JavaScript care se activează la evenimentul onLoad al paginii. Par egzamplu:
Code:
<body onLoad="javascript:document.NumeFormular.NumeTextbox.focus();">
<form name="NumeFormular" action="http://url.to.script/" method="get">
<input type="text" name="NumeTextbox">
<input type="Submit" value="Trimite-ma">
</form>
Submit-ul se face apăsând Enter în formular, care activează butonul implicit al formularului (cel definit ca Submit). Dacă vrei, poţi pune focusul pe acest buton la încărcarea paginii, astfel încât la apăsarea tastei spaţiu să se activeze.
 

Marius '95

Membru Senior
Joined
Nov 13, 2005
Location
Brăila
OK. La javascript nu ma bag ca nu ma pricep, dar am incercat chestia cu tabindex si am obtinut rezultate... bune. Trebuie doar sa apas "tab" ca sa apara cursorul unde trebuie. Cata vreme nu trebuie sa ma mai intind dupa mouse, e ok.
Multumesc.
 

Marius '95

Membru Senior
Joined
Nov 13, 2005
Location
Brăila
Am alta problema.
Incerc sa scriu "alfa1" cu caracterul grecesc alfa si nu-mi iese. Am incercat cu &#9451 dar nu merge, iar &#945 1 lasa un spatiu nedorit intre alfa si 1.
Stie cineva cum rezolv chestia asta?
 

puterfixer

Administrator
Sugar daddy
Joined
Oct 30, 2003
Conform regulilor HTML, după codul caracterului se pune punct şi virgulă. De exemplu: &amp;&lt;&gt;α&pound;&copy;&reg;&laquo;&deg;&Ouml; etc.
 

Marius '95

Membru Senior
Joined
Nov 13, 2005
Location
Brăila
Alta problema, de data asta s-ar putea sa fie cam complicat. :rolleyes:

Am o pagina impartita in doua: in stanga un formular, in dreapta un help despre cum se completeaza formularul. Formularul este de genul:
Nume camp: <input>
Nume camp: <input>
... , este aliniat folosind un tabel si este dinamic; poate fi ingust sau foarte lat in functie de ce "nume camp" apar. Textul help este un pic cam mare, contine liste de optiuni.
Problema mea este ca vreau ca indiferent de rezolutie sau marimea ferestrei formularul sa apara pe pagina intreg, fara a fi nevoie de scroll si fara a rupe randurile, si in acelasi timp nu vreau sa irosesc spatiu care altfel ar putea fi folosit pentru textul help din dreapta.

Pana acum am incercat cu tabel cu 2 celule: in celula din stanga, in dreapta help-ul. Nu-mi place fiindca help-ul, fiind mare, inghesuie formularul mult in stanga si "nume camp" apare pe 2-3 linii.
Am mai incercat sa setez o dimensiune fixa pentru tabelul cu formularul dar, continutul fiind dinamic, uneori nu incape, alteori ramane mult spatiu liber.

Intrebarea este cum fac pagina astfel incat formularul sa ocupe exact atat spatiu cat ii trebuie pentru a fi afisat fara a rupe randurile si fara spatiu irosit, in timp ce help-ul sa ocupe restul spatiului ramas in dreapta formularului? Si asta la orice rezolutie, marime font, etc.
 

sabertooth

Membru Senior
Joined
Aug 8, 2006
Location
mozolitic
Poti pune la trei celule:

- prima contine labelul pentru input. Aici pentru a nu se rupe randul pui td nowrap
- a doua celula contine inputul propriu-zis
- a treia celula contine help-ul care presupun ca este pentru fiecare input. Daca nu este pentru fiecare input si este un help global pentru tot formularul atunci la prima linie cu celule la celula care contine help-ul vei pune un rowspan.

Exemplu:

<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td nowrap>Label></td><td><input name="gogu" type="text"></td><td rowspan="cate linii (tr-uri) are tabelul">Help-u' lu' peste</td>
</tr>
<tr>
<td nowrap>Label></td><td><input name="gogu" type="text"></td>
</tr>
</table>
 

Azazel

Barbar
Joined
Nov 26, 2003
Pune aici un exemplu. Poti genera si dimensiunea celulelor dinamic, si a input-urilor, etc.
 

Marius '95

Membru Senior
Joined
Nov 13, 2005
Location
Brăila
Plec in weekend. Luni o sa incerc recomandarea lui sabertooth cu nowrap si daca nu iese ce trebuie, va arat si exemple.
Multumesc pt sugestii.
 

Marius '95

Membru Senior
Joined
Nov 13, 2005
Location
Brăila
Testat:
- Daca scriu style="white-space:nowrap" la fiecare <td>, merge. Nu mi-e greu sa le scriu la fiecare <td> dar codul e deja cam complex si devine destul de greu de citit.
- Daca scriu style="white-space:nowrap" doar la <table>, in IE nu se propaga la <td>-uri, in timp ce in Opera merge perfect.

Exista vreo metoda obscura de a face style-ul sa se aplice la tot continutul tabelului fara a-l scrie de n-spe ori?
 

miahi

Wizzard
Sugar daddy
Joined
Aug 1, 2004
Location
Unreal Estate, Ankh-Morpork, Discworld
Vezi cum se aplică CSS la TABLE. Ai nevoie de ceva de genul:

Code:
    <STYLE type="text/css">
      TABLE { white-space:nowrap; }
      TD    { white-space:nowrap; }
    </STYLE>
Am pus la ambele, că e posibil să nu afişeze la fel în browsere. Dacă ai mai multe tabele şi nu vrei să fie toate cu nowrap, poţi să-i pui un nume la stil şi pui <table class="blabla">, vezi aici.
 

Marius '95

Membru Senior
Joined
Nov 13, 2005
Location
Brăila
Stiam asta dar nu pot face asa. Nu pot aplica la toate <td>-urile ca mai am si alte tabele.
Iar <table class="blabla"> nu functioneaza nici el in IE. Trebuie class=... la fiecare <td>.
 

puterfixer

Administrator
Sugar daddy
Joined
Oct 30, 2003
Atunci foloseşte ID-uri pentru a diferenţia tabelele între ele, şi construieşte CSS-ul ierarhic pentru marcajele subordonate unui ID.
 
Top Bottom