Autor | Zpráva | ||
---|---|---|---|
kubatt Profil |
#1 · Zasláno: 10. 4. 2011, 10:44:28
čaute prosímvás hledám řešení co vezme všechny pole formuláře a odešle přes ajax našel sem si toto
<script type="text/javascript"> /** Odeslání formuláře přes XMLHttp požadavek * @param function funkce zajišťující obsluhu při změně stavu požadavku, dostane parametr s XMLHttp objektem * @param string URL požadavku * @param object formulář k odeslání * @param object předané hlavičky ve tvaru { 'hlavička': 'obsah' } * @return boolean true v případě úspěchu, false jinak * @copyright Jakub Vrána, http://php.vrana.cz/ */ function post_xmlhttprequest(state_change, url, form, headers) { var elements = form.elements; var content = []; for (var i=0; i < elements.length; i++) { if (elements[i].attributes.name && elements[i].attributes.name.specified && !elements[i].disabled) { if (/^(select)$/i.test(elements[i].tagName)) { var options = elements[i].options; for (var j=0; j < options.length; j++) { if (options[j].selected) { var value = (options[j].attributes.value && options[j].attributes.value.specified ? options[j].value : options[j].text); content.push(encodeURIComponent(elements[i].name) + '=' + encodeURIComponent(value)); } } } else if (!/^(submit|reset|button|file|image)$/i.test(elements[i].type) && (!/^(radio|checkbox)$/i.test(elements[i].type) || elements[i].checked)) { content.push(encodeURIComponent(elements[i].name) + '=' + encodeURIComponent(elements[i].value)); } } } if (!headers) { headers = {}; } headers['Content-Type'] = 'application/x-www-form-urlencoded'; return send_xmlhttprequest(state_change, 'POST', url, content.join('&'), headers); } </script> <script type="text/javascript"> function odeslat(form) { document.getElementById('stav').innerHTML = 'Odesílá se.'; return post_xmlhttprequest(function (xmlhttp) { if (xmlhttp.readyState == 4) { document.getElementById('stav').innerHTML = 'Odesláno.'; } }, 'odeslat.php', form); } </script> <span id="stav"></span> <form action="" method="post" onsubmit="return !odeslat(this);"> ale nějak to nefunguje :( nevíte prosím kde je chyba aby se to dalo použít? díky :) |
||
_es Profil |
#2 · Zasláno: 10. 4. 2011, 13:37:47 · Upravil/a: _es
kubatt:
Neúplné informácie. „co vezme všechny pole formuláře“ „ale nějak to nefunguje“ Akého formulára, aké polia? Prípadne skús spraviť živú ukážku. |
||
kubatt Profil |
#3 · Zasláno: 10. 4. 2011, 14:29:45
ale to je jen ukázka to má vzít všechny formulářové pole které dám a odeslat přes ajax všechno tam je stačí se nato podívat ;)
|
||
_es Profil |
#4 · Zasláno: 10. 4. 2011, 14:48:40
kubatt:
„má vzít všechny formulářové pole které dám“ No a aké konkrétne formulárové polia si tam dal, že ti to „nejak nefunguje“? A čo presne znamená, že to „nejak nefunguje“? |
||
joe Profil |
#5 · Zasláno: 10. 4. 2011, 15:04:06 · Upravil/a: joe
Nikde tam nevidím, že to uloží i input s typem "text" a "password", dál textareau a další nové HTML5 inputy.
|
||
kubatt Profil |
#6 · Zasláno: 11. 4. 2011, 16:55:25
for (var i=0; i < elements.length; i++) { if (elements[i].attributes.name && elements[i].attributes.name.specified && !elements[i].disabled) { if (/^(select)$/i.test(elements[i].tagName)) { var options = elements[i].options; for (var j=0; j < options.length; j++) { if (options[j].selected) { var value = (options[j].attributes.value && options[j].attributes.value.specified ? options[j].value : options[j].text); content.push(encodeURIComponent(elements[i].name) + '=' + encodeURIComponent(value)); } } } else if (!/^(submit|reset|button|file|image)$/i.test(elements[i].type) && (!/^(radio|checkbox)$/i.test(elements[i].type) || elements[i].checked)) { content.push(encodeURIComponent(elements[i].name) + '=' + encodeURIComponent(elements[i].value)); } } } ? |
||
_es Profil |
#7 · Zasláno: 11. 4. 2011, 17:50:26
|
||
kubatt Profil |
#8 · Zasláno: 11. 4. 2011, 19:17:55
no toto pokud vidíš a umíš JS tak poznáš že toto vytahne celí formulář
|
||
Časová prodleva: 13 let
|
0