Autor Zpráva
Francs
Profil *
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
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
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;
  });
">
Použitá universální funkce 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("&"));
}
… tu si můžeš zkopírovat. Nepotřebuje k běhu jQuery.

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'].

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: