/ 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
Forms og Ajax
Fra : EnjoyNews


Dato : 11-03-08 09:57

Hej

hvordan sender jeg en form value gennem Ajax ?

Jeg har en helt simpel form med ét tekst felt
<form method="post" action='' onsubmit="javascript:Update(' ... value ...
');">
<input type="text" name="Titel" value="">
<input type="submit" name="Submit" value="Submit">
</form>

Men hvordan for jeg værdien med up i javascript functionen ?



 
 
Christian R. Larsen (11-03-2008)
Kommentar
Fra : Christian R. Larsen


Dato : 11-03-08 11:23

"EnjoyNews" <mh-nyheder@mail.dk> wrote in message
news:47d6498f$0$2104$edfadb0f@dtext02.news.tele.dk...
> Hej
>
> hvordan sender jeg en form value gennem Ajax ?
>
> Jeg har en helt simpel form med ét tekst felt
> <form method="post" action='' onsubmit="javascript:Update(' ... value ...
> ');">
> <input type="text" name="Titel" value="">
> <input type="submit" name="Submit" value="Submit">
> </form>
>
> Men hvordan for jeg værdien med up i javascript functionen ?

Nu ved jeg ikke, hvad din side helt nøjagtigt skal gøre, men umiddelbart ser
det ud som om du vil have dit AJAX-kald til at køre onSubmit.--!?

Det er jo netop ikke meningen med AJAX, at man skal submitte og dermed
reloade siden, før resultatet kan vises.

I stedet kunne ille man kalde AJAX-scriptet med onChange-eventen på det
felt, man vil bruge som opslagsværdi.

F.eks.:

<input type="text" name="Titel" value=""
OnChange="MyAjaxFunction(this.value);">



EnjoyNews (11-03-2008)
Kommentar
Fra : EnjoyNews


Dato : 11-03-08 23:16


"Christian R. Larsen" <crlarsen@hotmail.com> skrev i en meddelelse
news:47d65d9c$0$90269$14726298@news.sunsite.dk...
> "EnjoyNews" <mh-nyheder@mail.dk> wrote in message
> news:47d6498f$0$2104$edfadb0f@dtext02.news.tele.dk...
>> Hej
>>
>> hvordan sender jeg en form value gennem Ajax ?
>>
>> Jeg har en helt simpel form med ét tekst felt
>> <form method="post" action='' onsubmit="javascript:Update(' ... value ...
>> ');">
>> <input type="text" name="Titel" value="">
>> <input type="submit" name="Submit" value="Submit">
>> </form>
>>
>> Men hvordan for jeg værdien med up i javascript functionen ?
>
> Nu ved jeg ikke, hvad din side helt nøjagtigt skal gøre, men umiddelbart
> ser det ud som om du vil have dit AJAX-kald til at køre onSubmit.--!?
>
> Det er jo netop ikke meningen med AJAX, at man skal submitte og dermed
> reloade siden, før resultatet kan vises.
>
> I stedet kunne ille man kalde AJAX-scriptet med onChange-eventen på det
> felt, man vil bruge som opslagsværdi.
>
> F.eks.:
>
> <input type="text" name="Titel" value=""
> OnChange="MyAjaxFunction(this.value);">
>
>

Selvfølgelig... jeg kunne bare ikke lige se lyset
Men du bruger OnChange... skal der så ikke være en submit knap ?



Philip Nunnegaard (12-03-2008)
Kommentar
Fra : Philip Nunnegaard


Dato : 12-03-08 08:04

"EnjoyNews" <mh-nyheder@mail.dk> skrev i meddelelsen
news:47d704fa$0$2104$edfadb0f@dtext02.news.tele.dk...

> Selvfølgelig... jeg kunne bare ikke lige se lyset
> Men du bruger OnChange... skal der så ikke være en submit knap ?

Nej.
Fidusen er, at submitknappen dermed ikke er nødvendig (eller den kan bruges
til et andet formål for den sags skyld - jævnfør sidste afsnit i mit svar).
onChange gør, at funktionen eksekveres i dét øjeblik du fjerner musemarkøren
fra feltet, såfremt der er sket en ændring i feltet, hvad enten du gør det
via musen eller tabulator-tasten.

OT:
En anden mulighed som jeg bruger i en søgefunktion, er at bruge onKeyUp som
udløser af funktionen. Dvs. søgningen starter, når man slipper en tast
(altså at der er indtastet et nyt tegn i søgefeltet).

Et andet sted bruger jeg en lignende søgefunktion i kombination med en
almindelig indtastningsformular.
Brugeren indtaster en artist og en titel og trykker på submitknappen.
For at undgå, at databasen fyldes op med dubletter lader jeg så
onkeyup-eventen trigge en funktion, der viser artister eller titler på en
liste, som man kan vælge fra, mens submitknappen blot submitter selve
formularen på gammeldaws manér.
På denne måde har jeg én formular til noget, jeg før i tiden brugte 2
formularer til.
- onkeyup udfører én funktion, mens submit udfører en anden-.


EnjoyNews (13-03-2008)
Kommentar
Fra : EnjoyNews


Dato : 13-03-08 10:29


"Philip Nunnegaard" <philip@fjerndettehitsurf.dk> skrev i en meddelelse
news:47d7806e$0$15895$edfadb0f@dtext01.news.tele.dk...
> "EnjoyNews" <mh-nyheder@mail.dk> skrev i meddelelsen
> news:47d704fa$0$2104$edfadb0f@dtext02.news.tele.dk...
>
>> Selvfølgelig... jeg kunne bare ikke lige se lyset
>> Men du bruger OnChange... skal der så ikke være en submit knap ?
>
> Nej.
> Fidusen er, at submitknappen dermed ikke er nødvendig (eller den kan
> bruges til et andet formål for den sags skyld - jævnfør sidste afsnit i
> mit svar).
> onChange gør, at funktionen eksekveres i dét øjeblik du fjerner
> musemarkøren fra feltet, såfremt der er sket en ændring i feltet, hvad
> enten du gør det via musen eller tabulator-tasten.
>
> OT:
> En anden mulighed som jeg bruger i en søgefunktion, er at bruge onKeyUp
> som udløser af funktionen. Dvs. søgningen starter, når man slipper en tast
> (altså at der er indtastet et nyt tegn i søgefeltet).
>
> Et andet sted bruger jeg en lignende søgefunktion i kombination med en
> almindelig indtastningsformular.
> Brugeren indtaster en artist og en titel og trykker på submitknappen.
> For at undgå, at databasen fyldes op med dubletter lader jeg så
> onkeyup-eventen trigge en funktion, der viser artister eller titler på en
> liste, som man kan vælge fra, mens submitknappen blot submitter selve
> formularen på gammeldaws manér.
> På denne måde har jeg én formular til noget, jeg før i tiden brugte 2
> formularer til.
> - onkeyup udfører én funktion, mens submit udfører en anden-.
>

Super.. nu virker det bare...
Vil man gerne have en submit knap kan man jo bare sætte en knap ved siden af
der ikke gør noget... så forlader man jo feltet når man trykker på den


Et lille problem mere...

Jeg har også en select som jeg ikke kan få til at virke.

Hvis jeg skriver :

<select name="SongName" onchange="Update(this.value);">
<option value"ny">opret ny
<option value"1">1
<option value"2">2
<option value"3">3

så virker det...

men hvis jeg skriver:

<select name="SongName" onchange="
if (this.options[this.selectedIndex].value=='ny')
{Update('noget');} ELSE {Update(this.value);}
">
<option value"ny">opret ny
<option value"1">1
<option value"2">2
<option value"3">3

Så virker det når jeg trykker på 'ny'.. altså gør den det den skal, men når
jeg trykker på de andre muligheder sker der bare ingenting.

Er det min IF statement der er forkert eller.. For selve systemet virker med
at overføre værdien, bare ikke når det sættes ind i den IF.



Philip Nunnegaard (13-03-2008)
Kommentar
Fra : Philip Nunnegaard


Dato : 13-03-08 18:29

"EnjoyNews" <mh-nyheder@mail.dk> skrev i meddelelsen
news:47d8f3eb$0$2090$edfadb0f@dtext02.news.tele.dk...

> Er det min IF statement der er forkert eller.. For selve systemet virker
> med at overføre værdien, bare ikke når det sættes ind i den IF.

Noget kunne tyde på, at den stopper ved det første og ikke får else-delen
med.
Har du prøvet at flytte hele if-statementet op i en funktion og så kalde dén
funktion i stedet.

function kaldfunktion() {
if (this.options[this.selectedIndex].value=='ny') {
Update('noget');
} ELSE {
Update(this.value);
}
}

<select name="SongName" onchange="kaldfunktion()">


EnjoyNews (14-03-2008)
Kommentar
Fra : EnjoyNews


Dato : 14-03-08 10:12


"Philip Nunnegaard" <philip@fjerndettehitsurf.dk> skrev i en meddelelse
news:47d9646b$0$15888$edfadb0f@dtext01.news.tele.dk...
> "EnjoyNews" <mh-nyheder@mail.dk> skrev i meddelelsen
> news:47d8f3eb$0$2090$edfadb0f@dtext02.news.tele.dk...
>
>> Er det min IF statement der er forkert eller.. For selve systemet virker
>> med at overføre værdien, bare ikke når det sættes ind i den IF.
>
> Noget kunne tyde på, at den stopper ved det første og ikke får else-delen
> med.
> Har du prøvet at flytte hele if-statementet op i en funktion og så kalde
> dén funktion i stedet.
>
> function kaldfunktion() {
> if (this.options[this.selectedIndex].value=='ny') {
> Update('noget');
> } ELSE {
> Update(this.value);
> }
> }
>
> <select name="SongName" onchange="kaldfunktion()">

Det kan jeg desværre ikke da 'noget' indeholder nogle variable der først
bliver fundet lige inden, og javascript'et skal jo stå oppe før body'en
eller ?



Nils (14-03-2008)
Kommentar
Fra : Nils


Dato : 14-03-08 01:23

On Mar 11, 9:57 am, "EnjoyNews" <mh-nyhe...@mail.dk> wrote:
> Hej
>
> hvordan sender jeg en form value gennem Ajax ?
>
> Jeg har en helt simpel form med ét tekst felt
> <form method="post" action='' onsubmit="javascript:Update(' ... value ...
> ');">
> <input type="text" name="Titel" value="">
> <input type="submit" name="Submit" value="Submit">
> </form>
>
> Men hvordan for jeg værdien med up i javascript functionen ?

onsubmit="javascript: Update(this.Title.value);"

Nils

Lasse Reichstein Nie~ (14-03-2008)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 14-03-08 18:46

Nils <nils.lastein@gmail.com> writes:

> onsubmit="javascript: Update(this.Title.value);"

Man kan udelade "javascript:" foran. Generelt har man aldrig brug
for at skrive "javascript:" noget sted[1]

Jeg ville bruge elements-collectionen:
onsubmit="Update(this.elements['Title'].value);"

/L
[1] Med mindre man laver bookmarklets/favlets.
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'

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

Månedens bedste
Årets bedste
Sidste års bedste