Autor Zpráva
tyger
Profil
Ahoj,
mám problém s navrácením formuláře a jeho následném použití pomocí metody POST v jquery.
problém je následující:
- mám formulář, jeho data odešlu do PHP souboru, který vrátí data s nějakým aktivním prvkem (formulář, tlačítko) a na tyto vrácené prvky už nereagují na funkce javascriptu.
Je nutno tyto prvky nějak registrovat do na stránce aby je javascript viděl??? Nebo nevím...

Uvedu příklad:
1. Odešlu data z inputu do php souboru
2. V tomto soubroru vytvořím formulář, kde se do value tlačítka vloží odeslaná hodnota
3. Přepíše se metodou .html() původní formulář, ale ten už nereaguje
4. jak docílit toho, aby to reagovalo do nekonečna dokola????

Díky moc....

Příklad:

Index.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <script type="text/javascript" src="js/jquery.min.js"></script>
  <script type="text/javascript" src="js/scripts.js"></script>
  <title>Test</title>
  </head>
  <body>
    <div id="index">
      <form action="#">
        <input type="text" />
        <input type="submit" value="Odeslat" />
      </form>
    </div>
  </body>
</html>


Obsluha javascriptem (scripts.js)
$(document).ready(function(){

  $("form").submit(function(){
    var input= $("input").val();
    $.post("exec.php", { input: input },
    function(data){
      $("#index").html(data);
    });
  return false;
  });
});


Volaná funkce PHP (exec.php)
<?php
echo' 
      <form action="#">
        <input type="text" />
        <input type="submit" value="'.$_POST['input'].'" />
      </form>
';
?>

Díky za každou radu nebo nějaký nástřel...
Tyger
tyger
Profil
ještě přidám odkaz na tento živý příklad Odkaz

Údaje z inputu se do value tlačítka dá jen napoprvé, jak to udělat aby to šlo stále dokola?

Děkuji
Kajman_
Profil *
Nejde to takto?
$("form").bind("submit",funkce);
Kajman_
Profil *
Aha... nebo po $("#index").html(data); zavolat znovupřiřazení události k nově vniklému formuláři.
tyger
Profil
Kajman:
$("form").bind("submit",funkce);

Hm, tohle mi nefunguje....
tyger
Profil
[#4] Kajman

Jak se zavolá to znovupřiřazení?

Děkuji
tyger
Profil
tento script to provede dvakrát, je to vlastně jen znovu opsané dovniř..... Ale jak to udělat nějak inteligentně, aby to šlo neomezeně dokola?????
Děkuji

$(document).ready(function(){

  $("form").bind("submit",function(){
    var input= $("input").val();
    var form = $("form");
    $.post("exec.php", { input: input },
    function(data){
      $("#index").html(data);
      $("form").bind("submit",function(){
        var input= $("input").val();
        var form = $("form");
        $.post("exec.php", { input: input },
          function(data){
          $("#index").html(data);
        });
      return false;
      });
    });
  return false;
  });
});
Shulík
Profil
Možná by to mohlo jít takhle:

function addSubmitListener(){
$("form").bind("submit",function(){
    var input= $("input").val();
    var form = $("form");
    $.post("exec.php", { input: input },
    function(data){
      $("#index").html(data);
      addSubmitListener();
    });
  return false;
  });
}

$(document).ready(function(){
addSubmitListener();
});


Za překlepy a další chyby neručím, nezkoušel jsem to. Princip je v tom, že přiřazení události onSubmit formulářovému tlačítku uložíš do funkce, kterou v jejím těle znovu voláš.
tyger
Profil
Funguje !!!!
Děkuju moc, ušetřil jsi mi další bezesnou noc... Ja uvažoval špatnym směrem.... Dííík
Toto téma je uzamčeno. Odpověď nelze zaslat.