Jeg har et problem her:
http://www.printlight.dk/bestil-bizcard.php
Hvis der er en af jer venlige sjæle der har lyst til at kigge lidt,
vil i så kontakte mig ?
Gerne offlist, hvis i mener det er OT.
Hvis det er mere aktuelt, så kan en anbefaling på en god javascript
mail-liste også være velkommen :-)
De venligste hilsener
Danjel
muligvis lidt OT, javascript hj�lp �nskes....
S� sp�rg det rigtige sted ;-)
dk.edb.internet.webdesign.clientside
> Hejsa allesammen.
>
> Jeg har et problem her:
Hvad er problemet, jeg har ikke tid til at gennemg� et site for at finde
en fejl..
Beskriv, beskriv, beskriv og s� detaljeret s� muligt...
> http://www.printlight.dk/bestil-bizcard.php
>
> Hvis der er en af jer venlige sj�le der har lyst til at kigge lidt,
> vil i s� kontakte mig ?
Du m� f�lge med her...
> Gerne offlist, hvis i mener det er OT.
>
> Hvis det er mere aktuelt, s� kan en anbefaling p� en god javascript
> mail-liste ogs� v�re velkommen :-)
>
> De venligste hilsener
> Danjel
>
Hvad er problemet?
Leif
Mit næste problem bliver en sammentælling af kr/ører
Jeg har faktiske forsøgt at løse det med php, men jeg synes det bliver
noget klovn, med at hente siden igen hele tiden....
Hvis der ikke lige kommer et guldkorn fra jer, så flytter jeg tråden
over i foreslåede forum :-)
/Danjel
Ikke muligvis - spᅵrgsmᅵlet hᅵrer til i
dk.edb.internet.webdesign.clientside
Men: der er 51 valideringsfejl pᅵ siden, som - IMHO - i sin helhed er
noget rod (kildekoden), og de bᅵr rettes. Og dem af dem du ikke selv
kan finde ud af, kan du nok fᅵ hjᅵlp til i
dk.edb.internet.webdesign.html
sᅵ det bᅵr du gᅵre fᅵrst.
Der er masser at tage fat pᅵ, og bestemt ingen grund til at vente til
der er mere...
Birger
--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk
> Der er et felt der hedder "antal navne"
> Nedenunder er der et par felter, navn, variant, oplag.
> Det var s� meningen at n�r man indtastede f.eks. 3 i "antal navne" s�
> skulle siden selv lave 3 linier med navn, variant, oplag.
> pt er antallet hardcoded.
Du kan lave det med jQuery.
Inds�t f�lgende, fx i <head> sektionen p� din side:
========================================================================
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$antal = $("input[name='biznames']")
$antal.removeAttr("onchange")
$antal.change(function () {
$firstName=$("input[name='navn1']").attr("name","name")
$tr = $firstName.parent().parent()
$("form tr").has("td input[name^='navn']").remove()
for(i=this.value; i>1; i--) {
$tr.clone().insertAfter($tr).find("input").first().attr("name","navn"+i)
}
$firstName.attr("name","navn1")
})
});
</script>
=========================================================================
Bem�rkninger:
1. Der er ingen delte linjer. Hvis nogle kn�kker i din
nyhedsgruppel�ser, skal de samles.
2. Denne jQuery "klistrer" sig fast p� din nuv�rende kode uden du
egentligt beh�ver �ndre noget. Fx fjerner den den eksisterende onChange
handler i antal-feltet. Det kunne laves lidt p�nere hvis man lavede lidt
om i html'en, fx brugte nogle CSS klasser og id'er.
3. Desuden tr�kker koden direkte p� Google; du b�r downloade jQuery
filen og l�gge den p� din egen server!
Hilsen
Martin
Mine sidste spørgsmål klarer jeg på det foreslåede forum :-)
Undskyld "rodet", men jeg er 100% selvlært, og dette site er det
første seriøse jeg har lavet.
Da jeg begyndte var der 1 million ting jeg ikke vidste noget om (nu er
der kun 999.995 tilbage ), men man bliver jo heldigvis klogere.
Jeg er ved at rydde op i koden, men det tager lang tid :-)
1000 tak for hjælpen og tålmodigheden
/Danjel
> 1000 tak, virker perfekt....
> Kigger lige p� hjemmesiden s� jeg ogs� kan forst� hvorfor:-)
Jeg vil medgive at det kan virke lidt overv�ldende!
JQuery er et "write less, do more" bibliotek som kan g�re en hulens
masse ting p� samme linje.
Koden kunne v�re lidt lettere hvis html'en var skrevet til den, som den
er nu er den beregnet til at klistre sig fast p� den eksisterende side
uden �ndringer.
Kig p� jquery.com hvis du vil vide mere :-)
Martin
Jeg har forespurgt mig på "clientside" men uden held..
Jeg har fået flere forslag, men ikke nogen som jeg har været dygtig
nok til at få glæde af :-(
Jeg har ikke kunnet gennemskue hele koden, så jeg kan desværre ikke
selv få den til at nummerere de øvrige felter, og ingen på
"clientside" har kommenteret koden.
Mit sidste håb ligge nu hos Martin, som jo kender koden, eller en af
jer andre.
Jeg har læst og læst for at forstå koden, men jeg har desværre ikke
klaret det hele, og delen jeg ikke har kunnet fikse, er selvfølgelig
delen med numrerne...
Mit sidste alternativ er at starte forfra med en anden løsning, men
ingen andre ser så lovende ud :-)
Mange håbefulde hilsener
Danjel
> Mit sidste alternativ er at starte forfra med en anden l�sning, men
> ingen andre ser s� lovende ud :-)
N�eh, det var ikke s�rlig p�nt sagt :-)
Jeg har lavet en lille mockup ud fra mit eksempel i clientside:
<http://w-o-p-r.dk/test/priser.html>
Her kan du se hvordan man kloner r�kken med udfyldelse af de korrekte navne
og id'er til senere brug.
Samtidig s�tter jeg antal til disabled, s� man undg�r rod med evt. senere
�ndringer.
Der er ikke nogen prisneregning, men hvis du fort�ller hvordan den skal
foreg�, er der sikkert nogen der kan hj�lpe dig (i .clientside),
men jeg vil foresl� dig at lave et lille eksempel til at arbejde p�, for din
nuv�rende side er lidt uoverskuelig.
--
Med venlig hilsen
Stig Johansen
1000 tak for tålmodigheden.
/Danjel
> On Feb 8, 9:48�pm, Stig Johansen <wopr...@gmail.com> wrote:
>>
>> Jeg har lavet en lille mockup ud fra mit eksempel i clientside:
>> <http://w-o-p-r.dk/test/priser.html>
> wopr?? det lyder lidt wargames-agtigt :-)
Det er skam ogs� inspiration fra wargames :-)
>> Samtidig s tter jeg antal til disabled, s man undg r rod med evt. senere
>> ndringer.
> Det overejer jeg, m� eksperimentere med hvad der passer mig bedst....
Jeg har udvidet eksemplet, s� det ikke ukritisk tilf�jer linier, men
justerer op og ned afh�ngig af det tidligere antal.
Samtidig udkommenterede jeg den linie, der disabler antallet.
S� har du noget at eksperimentere med.
Men du skal nok indf�je et eller andet tjek p� at antal >0 og mindre end xx.
> Jeg kan ikke f� den til at regne sammen, jeg har (tror jeg) fundet ud
> af at den laver navn1, navn2 o.s.v. men ikke tilsvarende numre for de
> andre felter.
Er det blot priskolonnen som skal regnes sammen? Eller er prisfeltet et
resultat af de �vrige felter i r�kken, s�dan at hvis variant eller
opslaf �ndres, s� �ndres prisen ogs�?
Martin
Derefter regnes det hele sammen, det udgør:
Alle prisfelterne
Et tillæg for opstart (prstart)
Hvis subtotal er for lille (mindre end "minamt"): Tillæg for fragt/
ekspedition. (hanfee)
Resultatet vises i "grandtotal"
> Prisfeltet regnes sammen linie for linie.
> Prisen er afh�ngig af oplaget og varianten (prflg).
>
> Derefter regnes det hele sammen, det udg�r:
> Alle prisfelterne
> Et till�g for opstart (prstart)
> Hvis subtotal er for lille (mindre end "minamt"): Till�g for fragt/
> ekspedition. (hanfee)
> Resultatet vises i "grandtotal"
Umiddelbart vil jeg mene, at du f�rst skal have l�st dit problem med at
klone linierne.
Din nuv�rende l�sning duer ikke rigtig, for pr�v f.eks. at angive 3 linier,
og udfyld disse, og derefter ret det til 4 - hvad sker der s�?
Du har f�rst p� et sent tidspunkt meldt ud at du er 'newbie', s� jeg har
tilladt mig at udvide mit eksempel med en prisberegning.
(Der er kun tallene, og ikke formattering).
Samtidig har jeg sat prisfelterne til disabled, det det (IMO) ikke giver
mening at kunne rette i disse.
Jeg har lagt en slat CSS inbd for at f� dem til at se ens ud.
Det er kun Quick&Dirty, s� se bort fra udseendet af tabellen, men koncentrer
om indholdet.
URL'en er den samme:
<http://w-o-p-r.dk/test/priser.html>
De mest taknemmelige hilsener
Danjel
> Umiddelbart vil jeg mene, at du f�rst skal have l�st dit problem med at
> klone linierne.
Det er korrekt, det var ment som et eksempel til at bygge videre p�. Det
troede vi vist alle sammen :-)
> Din nuv�rende l�sning duer ikke rigtig, for pr�v f.eks. at angive 3
linier,
> og udfyld disse, og derefter ret det til 4 - hvad sker der s�?
Det l�ses ved at nulstille v�rdierne i forbindelse med kloningnen.
Erstat denne linje:
$tr.clone().insertAfter($tr).find("input").first().attr("name","navn"+i)
med f�lgende:
$tr.clone().insertAfter($tr).find("input").val("").each(function() {
this.name = this.name.replace(/([a-z]+)\d*/i,"$1") + i
})
Min kode er i princippet un�digt kompliceret fordi den er beregnet til
at klistre p� den eksiterende html. Fx kaldes f�rste r�kke navn1 osv. s�
der er noget kode som fjerner tallene s� den fortsatte nummerering
bliver korrekt. Her ville jeg jo nok foretr�kke fx at undlade nummeret i
f�rste linje s� de klonede linjer blot skulle have et nummeret
*tilf�jet*. Ja, i det hele taget ville jeg have gjort det hele lidt
anderledes :-)
�rsagen til at jeg foresl�r jQuery selv for et s� simpelt script, er min
erfaring med Javascript p� et professionelt plan: Det der starter med
noget simpelt bliver lynhurtigt mere kompliceret, s� begynder der at
opst� kompatibilitetsproblemer, og man �rgrer sig over at man ikke bare
lavede det i jQuery.
Dog vil jeg sige til "dit forsvar", at for en newbie er det m�ske bedre
at f� en forst�else af javascript s� man har bare en lille ide om hvad
der foreg�r under motorhjelmen :-)
Martin
> Min kode er i princippet un�digt kompliceret fordi den er beregnet til
> at klistre p� den eksiterende html. Fx kaldes f�rste r�kke navn1 osv. s�
> der er noget kode som fjerner tallene s� den fortsatte nummerering
> bliver korrekt.
Lad os ikke starte en religionskrig, for du higer til jquery -fred v�re med
det.
> �rsagen til at jeg foresl�r jQuery selv for et s� simpelt script, er min
> erfaring med Javascript p� et professionelt plan: Det der starter med
> noget simpelt bliver lynhurtigt mere kompliceret, s� begynder der at
> opst� kompatibilitetsproblemer, og man �rgrer sig over at man ikke bare
> lavede det i jQuery.
Du m� meget gerne uddybe hvordan du kunne forestille dig at l�se n�rv�rende
opgave vha jquery.
Det er jo ikke bare at klone linierne, men at s�rge for navngivning p�
_alle_ subnodes.
> Dog vil jeg sige til "dit forsvar", at for en newbie er det m�ske bedre
> at f� en forst�else af javascript s� man har bare en lille ide om hvad
> der foreg�r under motorhjelmen :-)
Jeg ved ikke hvem du taler til her, men kom gerne med et forslag til hvordan
opgaven kunne l�ses vha. jquery :-)
>> Din nuv�rende l�sning duer ikke rigtig, for pr�v f.eks. at angive 3
>> linier, og udfyld disse, og derefter ret det til 4 - hvad sker der s�?
> Den tilf�jer en ekstra tom linie, s�dan som jeg havde h�bet p�, bruger
> firefox, er det anderledes p� f.eks. IE??
Ja, hvis linien er tom, men pr�v nu at s�tte den til 3 linier og udfyld
disse, og derefter finde ud af, du ville have 4 linier.
Martins l�sning sletter skidtet, og kloner den f�rste linie, s� linie 2+3
bliver fjernet, og erstattet med 3 nye linier, som er klon af linie 1 (med
indhold).
Han tager ikke h�jde for allerede eksisterende linier, men sletter brutalt
alt, og kloner linie 1 (ukritisk).
> Det er jo ikke bare at klone linierne, men at s�rge for navngivning p�
> _alle_ subnodes.
Det gjorde jeg faktisk i det indl�g du citerer (men jeg n�vnte det ikke):
$tr.clone().insertAfter($tr).find("input").val("").each(function() {
this.name = this.name.replace(/([a-z]+)\d*/i,"$1") + i
})
Der sker overordnet to ting her:
1. Den klonede r�kke bliver nulstillet mht. v�rdierne : val("")
2. Alle navnene nummereres fortl�bende: navn1, vari1, qty1 osv.
> men kom gerne med et forslag til hvordan
> opgaven kunne l�ses vha. jquery :-)
>
Hvad er formlen for variant + opslag = pris ?
Det synes jeg ikke lige fremg�r af tr�den.
Martin
> Hvad er formlen for variant + opslag = pris ?
>
> Det synes jeg ikke lige fremg�r af tr�den.
Fra Danjels post 9/2, 22:58
> Prisfeltet regnes sammen linie for linie.
S�
pris1=qty1*prisen
pris2=qty2*prisen
osv.
Men bortset fra det, s� er det ikke s�rligt brugervenligt at slette allerede
indtastede data, og derefter klone f�rste linie.
Ret f.eks. fra 3 til 4 linier _efter_ at have udfyldt de f�rste 3 linier.
Kiggede tilf�ldigvis forbi.
Denne her linie duer ikke:
....
var prisprstk = document.getElementById('prflg').value - 0;
....
for p� det tidspunkt den bliver kaldt, eksisterer 'prflg' ikke.
Enten skal du udskrive v�rdien vha. php, eller l�gge den i en onload (n�r
dokumentet er f�rdigt).
Jeg tog en kopi af din side, og gemte den, og rettede prisen til 47.11, s�
du kan se det virke:
http://w-o-p-r.dk/test/bestil-bizcard.php.html
Jeg har ogs� fjernet referencen til jquery:
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js">
</script>
da det ikke er brugbart i denne sammenh�ng.
Jeg vil foresl� at du koncentrerer dig om at finde den rette pris til senere
beregning.
--
Med venlig hilsen/Best regards
Stig Johansen
Jeg tror at jeg har fået styr på resten :-)
/Danjel
formler er således:
oplag (qty) * prflg = tot ( for hver linie )
Linierne lægges sammen og deril lægges prstart
Hvis vi nu er under minamt tillægges hanfee.
Jeg piller hele tiden, men pt er det den function der starter på linie
108, calcbizcard()
:-)
Danjel