0

しばらくして、この機能に苦労しています。次に例を示します。

HTMLサンプルコード:

    <form method="POST">            
        <label>Input 1:</label><br/>
        <input type="text" name="Input1" id="Input1"/><br/>
        <input type="submit" name="Login" value="Login" id="Login"/>
    </form>

PHPサンプルコード(script.php):

    if(isset($_POST['Input1Php']))
    {   
        $Input1 = $_POST['Input1Php'];

        if($Input1 == "Random Condition")
        {
            echo "All good";
        }else
        {
            echo "Hell no!";
        }
    }

jQueryのサンプルコード(私も.submit()で試しましたが、何も変更されません):

$('#Login').click(function()
{
    var Input1JS = $('#Input1 ').val();

    if("Something"=="Random Condition")
    {   
        $.post('script.php',{Input1Php:Input1JS},function(data)
        {
            if(data=="All good")
            {
                   Show me that
            }else
            {
                   Show me this
            }
        });
    }else
    {
        Just don't do anything
    }
}); 

このスクリプトは.keyupなどで検索できますが、クリックまたは送信に変更すると、何も実行されません。理由がわかりません。私は何かが足りないのですか?$ .postはこれらのイベントでは機能しませんか?

PS:$.postを他のものに変更しないでください。私のポイントは、この関数がこれらのイベントでどのように機能するか、または機能するかどうかを理解することです。

4

2 に答える 2

1

質問に情報が不足している場合は、ページが投稿されて戻ってくるのを待たない可能性があります$.post。変更してみてください

<input type="submit" name="Login" value="Login" id="Login"/>

<input type="button" name="Login" value="Login" id="Login"/>

何が起こるか見てみましょう。

于 2012-08-21T09:34:02.673 に答える
0

ブラウザには通常、ボタンに対するデフォルトのアクションがいくつかあります。この場合、投稿データは従来の方法で送信されます。この動作を防ぎたい場合は、コールバックreturn false;の最後にを追加するだけです。click

于 2012-08-21T10:17:15.477 に答える