| | |
| Stránka: 1 z 1
| [ Príspevkov: 10 ] | |
Autor | Správa |
---|
Registrovaný: 20.03.08 Prihlásený: 08.03.17 Príspevky: 596 Témy: 149 Bydlisko: Houston, Texas | Napísal Unlink: 26.01.2010 14:59 | |
|
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
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | Napísal Ďuri: 26.01.2010 15:03 | |
|
Musis tie polia spracuvat po jednom, formular['pole[1]'], formular['pole[5]'] atd.
|
|
Registrovaný: 20.03.08 Prihlásený: 08.03.17 Príspevky: 596 Témy: 149 Bydlisko: Houston, Texas | Napísal autor témy Unlink: 26.01.2010 15:18 | |
|
ale ja chcem aby sa to poslalo ako array,
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | Napísal Ďuri: 26.01.2010 15:19 | |
|
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.
|
|
Registrovaný: 20.03.08 Prihlásený: 08.03.17 Príspevky: 596 Témy: 149 Bydlisko: Houston, Texas | Napísal autor témy Unlink: 26.01.2010 15:24 | |
|
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" /> ?
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | Napísal Ďuri: 26.01.2010 15:37 | |
|
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.
|
|
Registrovaný: 20.03.08 Prihlásený: 08.03.17 Príspevky: 596 Témy: 149 Bydlisko: Houston, Texas | Napísal autor témy Unlink: 26.01.2010 15:43 | |
|
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
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | Napísal Ďuri: 26.01.2010 15:46 | |
|
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?
|
|
Registrovaný: 20.03.08 Prihlásený: 08.03.17 Príspevky: 596 Témy: 149 Bydlisko: Houston, Texas | Napísal autor témy Unlink: 26.01.2010 15:51 | |
|
ano len tie, ale myslel som že ono to potom JS berie ako pole, a to by malo odoslat nie?
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | Napísal Ďuri: 26.01.2010 18:41 | |
|
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.
|
|
| Stránka: 1 z 1
| [ Príspevkov: 10 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| Help s Ajaxom Pls :) v JavaScript, VBScript, Ajax | 2 | 619 | 19.01.2008 17:20 TikyConte | | C# - ako skryť aktívny formulár a otvoriť druhý formulár [ Choď na stránku: 1, 2, 3 ] v Technológia .NET | 67 | 2752 | 28.06.2013 22:08 walther | | wordpress kontaktný formulár a objednávkový formulár v Redakčné systémy | 1 | 1097 | 22.08.2016 10:26 hatto13 | | Odosielanie mailu [ Choď na stránku: 1, 2 ] v PHP, ASP | 48 | 2672 | 28.03.2008 13:16 Blackshadow | | odosielanie SMS v PHP, ASP | 3 | 1035 | 19.05.2011 14:08 Flety | | Odosielanie emailov v Ostatné programy | 0 | 288 | 20.08.2013 20:43 samson3333 | | Hromadne odosielanie mailov v Ostatné | 0 | 338 | 19.10.2013 10:53 DeiForm | | Script na odosielanie v PHP, ASP | 3 | 629 | 02.03.2011 14:18 Ďuri | | office..odosielanie restar v Ostatné programy | 1 | 396 | 06.01.2010 23:30 shiro | | odosielanie prilohy problem!!!! v PHP, ASP | 4 | 444 | 16.04.2008 14:12 El_locco | | [VYRIESENE] odosielanie mailov v PHP, ASP | 5 | 507 | 10.02.2009 12:49 neopagan | | Odosielanie hromadneho Emailu v Sieťové a internetové programy | 3 | 832 | 17.12.2007 10:04 capricorn7 | | Program na odosielanie packetov v Assembler, C, C++, Pascal, Java | 5 | 506 | 06.03.2010 14:41 juho | | Odosielanie mailov cez mail() v PHP, ASP | 1 | 527 | 14.01.2015 18:02 JanoF | | Outlook - prijimanie/odosielanie problem v Sieťové a internetové programy | 3 | 1207 | 24.11.2010 17:34 ShadowSong | | Odosielanie po refreshi webu v PHP, ASP | 6 | 353 | 15.08.2012 10:46 stenley |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|