Diskuze: JS odeslání formuláře

JavaScript JavaScript JS odeslání formuláře

Avatar
jan.vencl
Redaktor
Avatar
jan.vencl:

Ahoj mám formulář který se odesílá zpracuje na serveru, ale stránka se opět nenačte mám na to JS funkci. Nicméně nechci to odesílat tlačítkem ale např událostí onblur nebo onchange

zdrojáák stránky:

<html>
<head>

<title></title>
<script type='text/javascript' src='http://code.jquery.com/jquery-1.4.2.min.js'></script>
<script type='text/javascript' src='http://ajax.microsoft.com/ajax/jquery.validate/1.7/jquery.validate.min.js'></script>
<script>
function get_result()
{
            $("#expression").submit( function () {
              $.get(
               'analyse_string.php',
                $(this).serialize(),
                function(data){
                  $("#worksheet").html(data)
                }
              );
              return false;
            });
}
</script>
</head>
<body>

        <form method='get' name='expression' id='expression' action='#'>
        <input id='input_field' type='text' class='input_form' autocomplete='off' name='str'/>
        <button onblur='get_result()'>odesilam</button>
        </form>

<div id='worksheet'>
</div>
</body>
</html>

zdroj souboru analyse_string.php

<?php
echo $_GET['str'];
?>

zkoušel jsem input fieldu nastavit onblur='get_re­sult()' ale neslape to

Editováno 27.1.2013 10:10
 
Odpovědět 27.1.2013 10:09
Avatar
Drahomír Hanák
Tým ITnetwork
Avatar
Odpovídá na jan.vencl
Drahomír Hanák:

Musíš ten formulář ještě odeslat. Takhle mu jen definuješ událost, co se má zavolat po odeslání. Stačí pod to napsat ještě $('#expression')­.submit();

 
Nahoru Odpovědět 27.1.2013 11:17
Avatar
jan.vencl
Redaktor
Avatar
jan.vencl:

to funguje, ale neposle to souboru analyse_string.php data a refreshne se to

 
Nahoru Odpovědět 27.1.2013 12:41
Avatar
Drahomír Hanák
Tým ITnetwork
Avatar
Odpovídá na jan.vencl
Drahomír Hanák:

Jestli se ti obnoví stránka po odeslání formuláře, zkus tam přidat event.preventDe­fault();

function get_result()
{
        $("#expression").submit(function(e) {
                e.preventDefault();
                $.get(
                        'analyse_string.php',
                        $(this).serialize(),
                        function(data){
                                $("#worksheet").html(data)
                        }
                );
                return false;
        }).submit();
}

Jinak data mi to tomu skriptu posílá.

 
Nahoru Odpovědět 27.1.2013 15:17
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.