prvo jedno lakse pitanje:
Imam prostu tabelu i jedan input, probao sam pomocu javascripte da unosim text iz inputa u prvo polje tabele, i nikako ne mogu da dobijem da mi sirina <td> polja bude fiksna a ukoliko tekst bude veci da se polje siri horizontalno. probao sam sa table-layout:fixed ali ne ide, ono sto uporno dobijam da kada unesem text koji je siri polje se siri toliko a kada zamenim sa tekstom koji je uzi polje se vraca do sirine. Verujem da je odgovor jednostavan ali pretrazio sam google uzduz i popreko i nisam uspeo da resim problem, evo coda;
Code:
<head>
<script type="text/javascript">
function search()
{
var text = document.getElementById('searchbar').value;
var allElements = new Array();
allElements = document.getElementsByTagName('td');
for (var i=0; i < allElements.length; i++)
{
if (allElements[i].id == "c1r1")
{
allElements[i].innerHTML=text;
}
}
}
</script>
<style>
table{table-layout: fixed;}
td{ border: 1px solid gray; width:100px;}
#searchbar{width:100px;}
</style>
</head>
<body>
<input type='text' id="searchbar" value="proba"></input>
<input type='submit' id="button" value="dodaj" onclick="search()"></input>
<?php
echo '<table>';
for ($i=1;$i<=3;$i++)
{
echo '<tr><td id=c1r' .$i. '>text1</td><td id=c2r' .$i. '>text2</td></tr>';
}
echo '</table>';
?>
</body>
<head>
<script type="text/javascript">
function search()
{
var text = document.getElementById('searchbar').value;
var allElements = new Array();
allElements = document.getElementsByTagName('td');
for (var i=0; i < allElements.length; i++)
{
if (allElements[i].id == "c1r1")
{
allElements[i].innerHTML=text;
}
}
}
</script>
<style>
table{table-layout: fixed;}
td{ border: 1px solid gray; width:100px;}
#searchbar{width:100px;}
</style>
</head>
<body>
<input type='text' id="searchbar" value="proba"></input>
<input type='submit' id="button" value="dodaj" onclick="search()"></input>
<?php
echo '<table>';
for ($i=1;$i<=3;$i++)
{
echo '<tr><td id=c1r' .$i. '>text1</td><td id=c2r' .$i. '>text2</td></tr>';
}
echo '</table>';
?>
</body>
znaci ono sto meni treba je da kada unosite veci text da se celije sire vertikalno, tj da sirina tabele uvek bude 100px. ukoliko dodatm u style table{width:102px;} dobicu fixnu tablu ali tekst ce da overflow-uje celiju. ako dodam overflow:auto u td dobicu horizontalni skroler...
e sada malo slozenije pitanje:
ono sto mi treba je vas predlog resenja (ne zelim da mi iko odradi posao vec da predlozi tehnologiju kojom cu da dobijem ono sto mi treba) za sledeci problem: Znaci potrebna mi je tabela sa formom kao ova u primeru. kada se ucita stranica, korisnik unosi u formu podatke i pritiskom na dugme ih unosi u nov red tabele. Kasnije to treba sva da ide u bazu, ali je i potrebno ako korisnik ode (logovan je) a ne snimi u bazu da se sledeci put prilikom ucitavanja stranice ucitaju i do sad popunjeni podaci. Medjutim dok se pune ne bih da refresujem stranicu nego da se to dinamicki resava. Znaci idemo ovako:
- korisnik se loguje
- dobija praznu tabelu - grid
- popunjava formu i time popunjava redove podacima
- u slucaju odlaska i vracanja ceka ga ono sto je radio
- korisnik pritiska dugme za kraj, rezultati se snimaju u bazu i to je to.
Prepostavljam da cu ovaj problem dinamickog unosta resiti javascriptom, moj predlog je da u bazi formiram novu privremenu tabelu koja ce sadrzati samo privremene podatke dok ih korisnik dugmetom ne ubaci u njihovu glavnu tabelu kada se ona brise, a prilikom ucitavanja stranice njom se popunjava tabela ako nije prazna, ali mi nije jasno kako komunicirati zsa bazom bez refresha stranice? (do sad sam pmocu php-a ubacivao podatke u bazu).
Svaki od ovih unosa ima svoju sifru naloga, i kasnije ce mi i trebati da se tabela dinamicki popuni bez refresha i sa izborom sifre naloga u nekom combo-u ali pretpostavljam da je tehnika za to ista kao i tehnika za prethodni problem.
inace da li mi je resenje "pravljenja" datagrida pomocu php sa kordinatama tabele preko id= #i#j dobro resenje? kako se inace u praksi ovo radi?
Toliko za sada, ukliko postoji neko voljan da pomogne unapred se zahvaljujem.
Dejan M.