Autor | Zpráva | ||
---|---|---|---|
Francs Profil * |
#1 · Zasláno: 18. 11. 2013, 14:59:35
Mám INPUT s vložením URL a vedle odkaz. Rád bych kliknutím na odkaz provedl odeslání požadovaného INPUT přes jQuery do PHP souboru, který URL zpracuje a vygeneruje zpětně data, která se automaticky vyplní do formuláře na stejné stránce (textarea, 2x input).
Existuje na internetu již něco hotového, co bych jen lehce upravil? Jedná se mě o jQuery. |
||
_es Profil |
#2 · Zasláno: 18. 11. 2013, 15:12:42
Francs:
Ide to aj bez jQuery a dokonca aj bez JS, stačí nasmerovať formulár do iframe a aby PHP skript vygeneroval iný, vhodne vyplnený, formulár. „Existuje na internetu již něco hotového...“ Ak to už musí z nejakého dôvodu obsahovať jQuery, čo si tak pozrieť jeho dokumentáciu? |
||
Chamurappi Profil |
#3 · Zasláno: 18. 11. 2013, 19:16:37
Reaguji na Francse:
„kliknutím na odkaz“ Proč je to odkaz? Povede někam v případě, že se JS nezpracuje? Kdybys měl na stránce formulář s name="formularicek" , vstupní <input> by měl name="vstup" a AJAXem naplňované formulářové prvky by měly name="vystupA" , name="vystupB" a name="vystupC" , tak bych použil takovýto skript:
<button type="button" onclick=" var form = document.formularicek; odesli('skript.php', { adresa: form.vstup.value }, function(odpoved) { form.vystupA.value = odpoved.hodnotaX; form.vystupB.value = odpoved.hodnotaY; form.vystupC.value = odpoved.hodnotaZ; }); "> odesli by vypadala takhle:
function odesli(url, data, callback) { var xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP"); xhr.open("POST", url, true); xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8"); xhr.onreadystatechange = function() { if(xhr.readyState == 4) callback(eval("(" + xhr.responseText + ")")); }; var postData = []; for(var n in data) postData.push(encodeURIComponent(n) + "=" + encodeURIComponent(data[n])); xhr.send(postData.join("&")); } Ve skript.php vracej JSON, tedy řetězec v podobě {"hodnotaX": "něco", "hodnotaY": "něco", "hodnotaZ": "něco"} . K jeho vytvoření se může hodit PHP funkce json_encode . Vstupní hodnota bude v $_POST['adresa'] .
|
||
Časová prodleva: 10 let
|
0