[ Príspevkov: 10 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Formular, odosielanie ajaxom

Registrovaný: 20.03.08
Prihlásený: 08.03.17
Príspevky: 596
Témy: 149 | 149
Bydlisko: Houston, Texas
NapísalOffline : 26.01.2010 14:59 | Formular, odosielanie ajaxom

Ahojte, mám div do ktorého po stlačení odkazu načitam pomocou ajaxu formular, a potom ho chcem odoslat, ale nejako sa mi nedarí, mam to nejak takto

Kód:
function odosli(formular){
var xhr = new XMLHttpRequest();
      xhr.open('POST', 'odosli.php', true);
      
      xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
      if (xhr.overrideMimeType)
      {
         xhr.setRequestHeader('Connection', 'close');
      }
      xhr.send('hodnot='+formular.pole.value);
      xhr.onreadystatechange = function()
         {
            if (xhr.readyState == 4)
            {
               alert(xhr.responseText);
            }
         }


a ten formular čo sa načitava je asi takýto
Kód:
<form>
<input name="pole[1]" value="1" type="checkbox" />
<input name="pole[5]" value="1" type="checkbox" />
<input name="pole[8]" value="1" type="checkbox" />
<input onclick="odosli(this.form);" name="pridaj" value="Pridaj" type="submit" />
</form>

a problém je že v js kode mi píše formular ako undefinned
a keď dám odoslať tak mi ho odošle ako GET

Pls,čo robím zle


Offline

Čestný člen
Čestný člen
Formular, odosielanie ajaxom

Registrovaný: 11.08.07
Príspevky: 4088
Témy: 34 | 34
Bydlisko: Brno
NapísalOffline : 26.01.2010 15:03 | Formular, odosielanie ajaxom

Musis tie polia spracuvat po jednom, formular['pole[1]'], formular['pole[5]'] atd.


Offline

Užívateľ
Užívateľ
Formular, odosielanie ajaxom

Registrovaný: 20.03.08
Prihlásený: 08.03.17
Príspevky: 596
Témy: 149 | 149
Bydlisko: Houston, Texas
Napísal autor témyOffline : 26.01.2010 15:18 | Formular, odosielanie ajaxom

ale ja chcem aby sa to poslalo ako array,


Offline

Čestný člen
Čestný člen
Formular, odosielanie ajaxom

Registrovaný: 11.08.07
Príspevky: 4088
Témy: 34 | 34
Bydlisko: Brno
NapísalOffline : 26.01.2010 15:19 | Formular, odosielanie ajaxom

Kód:
xhr.send("pole[1]="+formular['pole[1]']+"&pole[5]="+formular['pole[5]']);

Nepojde to takto? Samozrejme sa to bude dat zjednoduchsit, aby si to nemusel vypisovat, ale najprv povedz, ci to funguje podla tvojich predstav.


Offline

Užívateľ
Užívateľ
Formular, odosielanie ajaxom

Registrovaný: 20.03.08
Prihlásený: 08.03.17
Príspevky: 596
Témy: 149 | 149
Bydlisko: Houston, Texas
Napísal autor témyOffline : 26.01.2010 15:24 | Formular, odosielanie ajaxom

a keby som tie checkboxi prerobil napr na
Kód:
<input name="pole[]" value="1" type="checkbox" />
<input name="pole[]" value="5" type="checkbox" />
<input name="pole[]" value="8" type="checkbox" />
?


Offline

Čestný člen
Čestný člen
Formular, odosielanie ajaxom

Registrovaný: 11.08.07
Príspevky: 4088
Témy: 34 | 34
Bydlisko: Brno
NapísalOffline : 26.01.2010 15:37 | Formular, odosielanie ajaxom

Ako chces potom hladat a identifikovat tie inputy v strome dokumentu?
Nechapes zrejme jednu vec - name inputu je dolezite akurat vtedy, ked normalne odosielas normalny formular, prehliadace su naprogramovane tak, aby name brali do uvahy. Pomocou XMLHttpRequest ziaden formular neodosielas, len robis obycajny HTTP request. Pre Javascript je name="pole[]" klasicky atribut s nejakou hodnotou, a podla .pole nevyhladas name=pole[], ani keby si sa poskladal do kocky.
Samozrejme sa da napisat fcia, ktora ti vyhlada vsetky name=pole[] a ich hodnoty moze zlepit do suvisleho retazca, ktory sa len odosle, ale to iste si mozes spravit priamo v tele kodu.


Offline

Užívateľ
Užívateľ
Formular, odosielanie ajaxom

Registrovaný: 20.03.08
Prihlásený: 08.03.17
Príspevky: 596
Témy: 149 | 149
Bydlisko: Houston, Texas
Napísal autor témyOffline : 26.01.2010 15:43 | Formular, odosielanie ajaxom

no hej, lenže tie čísla 1, 5, 8 mi generuje php skript, a ja potrebujem proste aby ten druhý skript ktorý to spracuváva, aby dostal tie čísla ktore zaškrtnem


Offline

Čestný člen
Čestný člen
Formular, odosielanie ajaxom

Registrovaný: 11.08.07
Príspevky: 4088
Témy: 34 | 34
Bydlisko: Brno
NapísalOffline : 26.01.2010 15:46 | Formular, odosielanie ajaxom

DOMom si vyberies vsetky <input>y z formulara, cyklom precitas ich name a otestujes oproti regexpu /pole\[[0-9]+\[/. Potom to uz bude jednoduche. Ak nezvladnes, napisem ti to vecer, ale aspon sa pokus.
Resp. ak mas vsetky s name="pole[]", tak ani regexp pouzit nemusis.
Len otazka - maju sa do vysledneho retazca v xhr.send() pridavas len zaskrtnute checkboxy, vsak?


Offline

Užívateľ
Užívateľ
Formular, odosielanie ajaxom

Registrovaný: 20.03.08
Prihlásený: 08.03.17
Príspevky: 596
Témy: 149 | 149
Bydlisko: Houston, Texas
Napísal autor témyOffline : 26.01.2010 15:51 | Formular, odosielanie ajaxom

ano len tie, ale myslel som že ono to potom JS berie ako pole, a to by malo odoslat nie?


Offline

Čestný člen
Čestný člen
Formular, odosielanie ajaxom

Registrovaný: 11.08.07
Príspevky: 4088
Témy: 34 | 34
Bydlisko: Brno
NapísalOffline : 26.01.2010 18:41 | Formular, odosielanie ajaxom

Ale ziadne pole, to 'pole[]' je proste retazec a JS s nim naraba tak isto, ako keby si tam mal hocico ine.
Pozri nieco taketo:
Kód:
var e = document.getElementsByTagName('FORM')[0].getElementsByTagName('INPUT'), v = []; /*zmen si pristup k formularu podla seba*/
for (var i = 0, l = e.length; i < l; i++)
{
   if (e[i].name == 'pole[]' && e[i].type == 'checkbox' && e[i].checked)
   {
      v.push('pole[]='+e[i].value);
   }
}
var s = v.join('&');
V premennej s mas potom string rovno pripraveny na odoslanie, v tvare napr. pole[]=0&pole[]=4&pole[]=9.


 [ Príspevkov: 10 ] 


Formular, odosielanie ajaxom



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

Help s Ajaxom Pls :)

v JavaScript, VBScript, Ajax

2

664

19.01.2008 17:20

TikyConte

V tomto fóre nie sú ďalšie neprečítané témy.

C# - ako skryť aktívny formulár a otvoriť druhý formulár

[ Choď na stránku:Choď na stránku: 1, 2, 3 ]

v Technológia .NET

67

2949

28.06.2013 22:08

walther

V tomto fóre nie sú ďalšie neprečítané témy.

wordpress kontaktný formulár a objednávkový formulár

v Redakčné systémy

1

1232

22.08.2016 10:26

hatto13

V tomto fóre nie sú ďalšie neprečítané témy.

odosielanie SMS

v PHP, ASP

3

1104

19.05.2011 14:08

Flety

V tomto fóre nie sú ďalšie neprečítané témy.

Odosielanie emailov

v Ostatné programy

0

341

20.08.2013 20:43

samson3333

V tomto fóre nie sú ďalšie neprečítané témy.

Odosielanie mailu

[ Choď na stránku:Choď na stránku: 1, 2 ]

v PHP, ASP

48

2791

28.03.2008 13:16

Blackshadow

V tomto fóre nie sú ďalšie neprečítané témy.

office..odosielanie restar

v Ostatné programy

1

435

06.01.2010 23:30

shiro

V tomto fóre nie sú ďalšie neprečítané témy.

odosielanie prilohy problem!!!!

v PHP, ASP

4

485

16.04.2008 14:12

El_locco

V tomto fóre nie sú ďalšie neprečítané témy.

[VYRIESENE] odosielanie mailov

v PHP, ASP

5

550

10.02.2009 12:49

neopagan

V tomto fóre nie sú ďalšie neprečítané témy.

Odosielanie hromadneho Emailu

v Sieťové a internetové programy

3

879

17.12.2007 10:04

capricorn7

V tomto fóre nie sú ďalšie neprečítané témy.

Hromadne odosielanie mailov

v Ostatné

0

385

19.10.2013 10:53

DeiForm

V tomto fóre nie sú ďalšie neprečítané témy.

Script na odosielanie

v PHP, ASP

3

669

02.03.2011 14:18

Ďuri

V tomto fóre nie sú ďalšie neprečítané témy.

Outlook - prijimanie/odosielanie problem

v Sieťové a internetové programy

3

1269

24.11.2010 17:34

ShadowSong

V tomto fóre nie sú ďalšie neprečítané témy.

Odosielanie po refreshi webu

v PHP, ASP

6

381

15.08.2012 10:46

stenley

V tomto fóre nie sú ďalšie neprečítané témy.

odosielanie formulara s prilohou

v PHP, ASP

13

1181

16.10.2010 20:31

shaggy

V tomto fóre nie sú ďalšie neprečítané témy.

odosielanie udajov do databazy

[ Choď na stránku:Choď na stránku: 1, 2 ]

v PHP, ASP

55

2079

14.09.2007 14:44

Blackshadow



© 2005 - 2025 PCforum, edited by JanoF