Autor Zpráva
Euroblb
Profil
Dobrý den přeju,
předem se omlouvám zda-li píšu dotaz který již byl zodpovězen.


Potřeboval bych poradit s problémem ak odeslat dotaz na stránku pomicí javascriptu s proměnnýma v methodě POST a
výsledek(obsah stránky) přiřadit/zobrazit v obsahu <iframe>.

Poradíte mi kterým směrem mám hledat?

Předem děkuji.
Chamurappi
Profil
Reaguji na Euroblba:
Nemůžeš prostě odeslat normální formulář s patřičně nastaveným atributem target?
Euroblb
Profil
Chamurappi: Bohužel to mi budu k ničemu, v iframu zbrazuji stránky ze "systemu" kde jsou občas formuláře pro určení od-do atp.
kde bych rád si přednatavil, bohužel jsou odesílány a zpracovávány v metodě post, a né get.
nemám možnost tyto formuláře upravovat.
Chamurappi
Profil
Reaguji na Euroblba:
To přeci ničemu nevadí. Vyrobíš formulář, naplníš ho hodnotami, jakými chceš, přidáš method="post" a target="jméno-rámu" a odešleš…
Odeslání může pochopitelně vyvolat i JavaScript, konkrétně metodou document.jménoFormuláře.submit().
Euroblb
Profil
Tak jsem to vyřešil jak jste psal,
Vytvořený a vyplněný náhradí formulář vložím přímo do iframu s udalosti "onload" v "body".
Příjde mi to sice trochu přehnané řešení, měl jsem za to že to pujde i jinak.

Kod:
function zobraz_info() {
    var ifrm = document.getElementById('aktual');
    ifrm = (ifrm.contentWindow) ? ifrm.contentWindow : (ifrm.contentDocument.document) ? ifrm.contentDocument.document : ifrm.contentDocument;
    ifrm.document.open();
    ifrm.document.write('<script type="text/javascript">function zobraz(){document.form1.submit();}</script><body style="background:#FFF" onload="zobraz();"><form name="form1" method="post" action="http://localhost/testy_form.php" ><input type="text" name="1" value="11.1.2013" /><input type="text" name="2" value="11.2.2013" /><input type="text" name="3" value="11.3.2013" /><input type="text" name="4" value="11.4.2013" /><input type="submit" name="lala" value="odešli" /></form></body>');
    ifrm.document.close();
}

pro přehlednost:
function zobraz_info() {
    var ifrm = document.getElementById('aktual');
    ifrm = (ifrm.contentWindow) ? ifrm.contentWindow : (ifrm.contentDocument.document) ? ifrm.contentDocument.document : ifrm.contentDocument;
    ifrm.document.open();
    ifrm.document.write('
        /* ========  Vkladany kod  ========== */
    <script type="text/javascript">
    function zobraz(){
        document.form1.submit();
     }
     </script>
     <body onload="zobraz();">
           <form name="form1" method="post" action="http://localhost/testy_form.php" >
               <input type="text" name="1" value="11.1.2013" />
               <input type="text" name="2" value="11.2.2013" />
               <input type="text" name="3" value="11.3.2013" />
               <input type="text" name="4" value="11.4.2013" />
               <input type="submit" name="lala" value="odeslat" />
            </form>
        </body>
        /* ========  Vkladany kod  ========== */
');
    ifrm.document.close();
}

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:

0