JQuery/AJAX problemer/spørgsmål

Tags:    javascript

Jeg har kastet mig ud i mit første lille Jquery forsøg (som en læreproces). Og det går ok, men er stødt på følgende problemer/spørgsmål:

(Koden kommer, længere nede)

Jeg starter med en side, med en række forms, hvor brugeren kan vælge en vare og et antal.
Hver form har en unik .class hvorfra JQuery kan kende forms'ene fra hinanden.

Via Jquery har jeg fået følgende til at fungere:
Når der klikkes på en vare (en submitknap), - så skifter Jquery fint knapperne ud, med en "afbestil"-knap og en "Gå til kassen"-knap.
Jquery skriver også en lille "du har bestilt denne vare"-sætning ind.

Jeg bruger denne metode til at udskifte og skrive via Jquery:
$("#you_ordered_"+Id).html('<div id="you_ordered_'+Id+'">det nye indhold</div>');


Spørgsmål 1:
Findes der en metode som ikke skifter hele det valgte element ud ( <div></div> ) men kun INDHOLDET af det valgte element. Sådan at jeg ikke behøver at skrive <div>"det nye indhold"</div> - men bare "det nye indhold" ?


Næste problematik:
Når så en bruger har valgt en vare og klikket på den, og Jquery har sat nye knapper ind, - og brugeren gerne vil afbstille igen, - så sker følgende:

Når der klikkes på "Afbestil"-knappen, så refreshes siden! (så min Jquery køres åbenbart ikke).
Hvis jeg refresher siden, - så vises de nye knapper via php - og SÅ kører mit Jquery. Php versionen og Jquery versionen af knappen er fuldstændig ens, så vidt jeg kan se. Men den ene virker og den anden gør ikke.


Spørgmsål 2:
Hvad sker (i ovenstående problematik)? :-)


Spørgsmål 3:
Jeg bemærker at der er uoverensstemmelser mellem kildekoden og resultatet på skærmen. Jquerys tekst-tilføjelser vises på skærmen, men ikke i kildekoden.
Hvordan kan jeg tjekke kildekoden til siden, MED Jquery resultaterne? Altså hvordan tjekker jeg Jquerys html-output?


Her er min Jquery kode: (shop_add filerne er bare en lille php-fil som sætter en session, så bestillingen huskes - Der skrives ikke noget ud, i disse.)
Fold kodeboks ind/udKode 




Og lidt kildekode, som generet af php, - altså FØR Jquery har ændret noget:

Fold kodeboks ind/udKode 




Indlæg senest redigeret d. 13.07.2009 14:18 af Bruger #11668
8 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
ad1:

$("#you_ordered_"+Id).html('det nye indhold');

Skulle gerne ligge sig inden i det div.

ad2:

Husk at returne false på anchors der ikke bruger javascript: protokollen

ad3:
Brug firefox's addon firebug, den viser ændringer i markuppen forårsaget af JS DOM

/J






Sæt action til # på den form :)

/J







ad1:

$("#you_ordered_"+Id).html('det nye indhold');

Skulle gerne ligge sig inden i det div.

ad2:

Husk at returne false på anchors der ikke bruger javascript: protokollen

ad3:
Brug firefox's addon firebug, den viser ændringer i markuppen forårsaget af JS DOM

/J




ad1:
Ahhh! - Fedt, tak.

ad2:
Der er return false på... og fuldstændig samme fuknktion fungerer også, hvis siden er blevet refreshet. Det er som om den ikke kan finde ud af det, når knappen er genereret af via JQuery...
Nogen bud?


ad3:
Jeg havde den faktisk allerede! - Hvor dumt. Jeg havde bare ikke set at der også var en "Vis genereret kildekode". Fedt, tak!





Sæt action til # på den form :)

/J


Njaaah.... jeg vil gerne have at siden skal fungere også, selvom Javascript er disbalet. - bare grimmere :-)

Men så længe der er return false på, burde det vel også være fjong?



Sæt action til # på den form :)

/J


Njaaah.... jeg vil gerne have at siden skal fungere også, selvom Javascript er disbalet. - bare grimmere :-)

Men så længe der er return false på, burde det vel også være fjong?


Ja, flot. Jeg er ikke rigtig hjemme, på denne her hjemmeside, og får klikket lidt for mange gange rundt omkring. Jeg ville have slettet mine fejl-indlæg. Men funktion er vist ikke mulig. :-)



Sæt action til # på den form :)

/J


Njaaah.... jeg vil gerne have at siden skal fungere også, selvom Javascript er disbalet. - bare grimmere :-)

Men så længe der er return false på, burde det vel også være fjong?


Ja, flot. Jeg er ikke rigtig hjemme, på denne her hjemmeside, og får klikket lidt for mange gange rundt omkring. Jeg ville have slettet mine fejl-indlæg. Men funktion er vist ikke mulig. :-)


Der er ikke return false på submit eventet på den <form>: -> ellers har du ikke vist al koden.


$('form').submit(function(){return false;});



Indlæg senest redigeret d. 14.07.2009 15:31 af Bruger #5789
$('form').each(function()
{
$(this).submit(function(){return false;});
});

.... Måske :)




t