/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Tilføjelse af rækker og automatisk
Fra : Lars Olesen


Dato : 19-07-04 23:35

Jeg har forsøgt at lave noget på:

http://www.legestue.net/testcenter/bambus/

Her tilføjes en række, hvis man klikker på en knap, så man kan få lov at
udfylde flere rækker af gangen. Det virker sådan set fint nok.

Jeg vil imidlertid gerne kombinere det med cookies, så den selv husker
på, hvor mange felter, man havde sidste gang, man brugte formularen.

I tilgift har jeg lavet et script, som åbner et popupvindue med
kontonavne og numre. Når man klikker på et nummer, vil den automatisk
fylde det ind i formularen.

Popupvinduet mangler imidlertid en javascriptløsning, hvor den selv
finder ud af, om den skal i debet eller kredit (alt efter hvor den åbnes
fra), hvis der kun er en række (det var min oprindelige ide, at der kun
skulle være en række).

Nu vil jeg gerne udvide formularen ved at tilføje rækker. Hvordan kan
jeg så gøre det? Kan man lave noget dobbeltklik på et felt, som
provokerer at popupvinduet åbnes, eller kan man lave noget andet, som
gør at popupvinduet åbnes, og man automatisk kan få udfyldt
kontonummeret ind i det rigtige felt?

Alle gode råd er meget velkomne. Det er altid rart at lære noget :D

--
Lars Olesen

 
 
Jonas Schmeltz Aaber~ (20-07-2004)
Kommentar
Fra : Jonas Schmeltz Aaber~


Dato : 20-07-04 12:06

"Lars Olesen" <lsolesen@hotmail.com> skrev i en meddelelse
news:40fc4c5e$0$148$edfadb0f@dread11.news.tele.dk...
> Jeg har forsøgt at lave noget på:
>
> http://www.legestue.net/testcenter/bambus/
>
> Her tilføjes en række, hvis man klikker på en knap, så man kan få lov at
> udfylde flere rækker af gangen. Det virker sådan set fint nok.

I funktionen addRowToTable ville det være smart, hvis id-attributen for
hvert felt også blev indsat:

el.setAttribute('id', '(felt)(nr)');

Hvor (felt) er feltets navn og (nr) nummeret for den aktuelle række.
Nummeret kan udregnes sådan:

nr = tbl.childNodes.length;

som simpelthen returnerer antallet af rækker (tr-tags).

Så kan vi nemmere håndtere næste problem;

[klip]
> Popupvinduet mangler imidlertid en javascriptløsning, hvor den selv
> finder ud af, om den skal i debet eller kredit (alt efter hvor den åbnes
> fra), hvis der kun er en række (det var min oprindelige ide, at der kun
> skulle være en række).
>
> Nu vil jeg gerne udvide formularen ved at tilføje rækker. Hvordan kan
> jeg så gøre det? Kan man lave noget dobbeltklik på et felt, som
> provokerer at popupvinduet åbnes, eller kan man lave noget andet, som
> gør at popupvinduet åbnes, og man automatisk kan få udfyldt
> kontonummeret ind i det rigtige felt?

Ja, prøv dette:
<input type="text" id="kredit1" onDblClick="AabnVindue(this.id)">
<input type="text" id="debet1" onDblClick="AabnVindue(this.id)">

<script>
function AabnVindue(i) {
window.open('list_account.php?'+i,'konti','...');
}
</script>

På list_account.php kan du lave følgende funktion i dit script-tag:

function IndsaetVaerdi(v) {
window.opener.document.getElementById(document.search.substring(1)).value =
v;
window.opener.focus();
}

og erstatte følgende linie (nr 33)

elm[i].innerHTML = '<a href="#"
onclick="window.opener.document.getElementById(\'debet_account_number\').val
ue=\''+getInnerText(elm[i])+'\';
window.opener.focus();">'+getInnerText(elm[i])+'</a>';

med

elm[i].innerHTML = '<a href="#"
onclick="IndsaetVaerdi(\''+getInnerText(elm[i])+'\');">'+getInnerText(elm[i]
)+'</a>';


> Alle gode råd er meget velkomne. Det er altid rart at lære noget :D

Dybt enig - det er dét, nyhedsgrupperne er til for


Håber det kan bruges!

MVH Jonas (aka Juke)



Lars Olesen (20-07-2004)
Kommentar
Fra : Lars Olesen


Dato : 20-07-04 13:13

Jonas Schmeltz Aaberg wrote:

Det virker perfekt med en enkelt lille rettelse

> window.opener.document.getElementById(document.search.substring(1)).value = v;

window.opener.document.getElementById(document.location.search.substring(1)).value
= v;

Men...

Der er imidlertid et problem med den øverste linje. Den jeg selv har
lavet :( Af en eller anden grund smider den hhv. voucher_number og text
ind i accountOpenWindow() i stedet for debet_account_number_1 og
credit_account_number_1. Er der nogen, der kan forklare mig hvorfor.

Samtidig kan jeg ikke få onDblClick-attributten til at virke, når den
tilføjes som eventhandler:

elm[i].onDblClick = new Function("return
accountWindowOpen(elm["+i+"].id); return false;");

Men sagtens i:

el.setAttribute('onDblClick',
"accountWindowOpen('credit_account_number_"+iteration+"')");

--
Lars Olesen
Kan det gøres bedre? Struktur, navigation og brugervenlighed!
Betingelser findes på <http://www.fodboldenslegestue.dk>
Forslag afleveres inden 1. juli 2004

Lars Olesen (20-07-2004)
Kommentar
Fra : Lars Olesen


Dato : 20-07-04 13:24

Lars Olesen wrote:

> Samtidig kan jeg ikke få onDblClick-attributten til at virke, når den
> tilføjes som eventhandler:
>
> elm[i].onDblClick = new Function("return
> accountWindowOpen(elm["+i+"].id); return false;");

Doh...

Den skulle naturligvis skrives med lille

--
Lars Olesen
Kan det gøres bedre? Struktur, navigation og brugervenlighed!
Betingelser findes på <http://www.fodboldenslegestue.dk>
Forslag afleveres inden 1. juli 2004

Lars Olesen (20-07-2004)
Kommentar
Fra : Lars Olesen


Dato : 20-07-04 14:13

Lars Olesen wrote:

> Der er imidlertid et problem med den øverste linje. Den jeg selv har
> lavet :( Af en eller anden grund smider den hhv. voucher_number og text
> ind i accountOpenWindow() i stedet for debet_account_number_1 og
> credit_account_number_1. Er der nogen, der kan forklare mig hvorfor.

Jeg lægger 2 til i, og så virker det. Jeg ved ikke hvorfor, men lever
med det :D

--
Lars Olesen
Vejle Idrætshøjskole <http://www.vih.dk>
Valider dine sider
<http://diveintomark.org/archives/2003/05/05/why_we_wont_help_you>
Søg i nyhedsgrupperne
<http://http://www.google.dk/grphp?tab=wg&q=&ie=UTF-8&oe=UTF-8&hl=da&meta=>

Lars Olesen (20-07-2004)
Kommentar
Fra : Lars Olesen


Dato : 20-07-04 12:07

Lars Olesen wrote:

> Jeg vil imidlertid gerne kombinere det med cookies, så den selv husker
> på, hvor mange felter, man havde sidste gang, man brugte formularen.

Har fået implementeret noget med cookies, så den husker antallet af
felter, så det behøver I ikke bryde jeres hjerne med :D

--
Lars Olesen
Kan det gøres bedre? Struktur, navigation og brugervenlighed!
Betingelser findes på <http://www.fodboldenslegestue.dk>
Forslag afleveres inden 1. juli 2004

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408925
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste