-1

PHPについてはよく知っていますが、jqueryまたはjavascriptの初心者で、フォーム送信後に変数を更新しようとしています。

PHPページに送信するフォームがあります。

<form name="FindUser" id="userform" class="invoform" method="post" action="" />
    <div id ="userdiv">
        <p>Name (Lastname, firstname):</p>
        <input type="text" name="username" id="username" class="inputfield" />
        <input type="submit" name="find" id="find" class="find" value="Find" />
    </div>
</form>

以下のメソッドを介してエコーバックされます。

<div id="infowrapper">
    <div id="usernameinfo" class="info">
       <?php
          if(isset($_POST['find'])){
             include('includes/find.php');
          }
       ?>
    </div>
</div>

PHPページから返される変数の1つは

$hidefields="1"

問題は、php が var を正しく更新するのを確認できますが、jquery がこの新しい値で更新されないことです。PHPが1としてエコーしている間、varを0として表示するアラートボックスでテストしました。キャッシュされているか何かであるとしか思えません。

<script>

    $(document).ready(function(){
        $("#userform").hide();
    });


    $(document).ready(function(){

        var hide = <?php echo $hidefields; ?>;

        if(hide == 1){
            $("#userform").hide();
            $("#infowrapper").show();
            $("#passwordreset").show();
            $("#enabledisable").show();
        }
        else {
            $("#userform").show();
            $("#infowrapper").hide();
            $("#passwordreset").hide();
            $("#enabledisable").hide();
        }
        alert(hide);
    });
</script>

この新しい変数で jq を更新するために追加できる簡単な行はありますか? 私はこれを完成させるのに非常に近づいており、急な学習曲線の最後の障害です. それから私はいくつかの甘いpowershell統合を行うことができます^^.

ありがとう。

4

1 に答える 1

0

これを少し減らすことができます:

$(document).ready(function(){
    $("#userform").hide();
});


$(document).ready(function(){

    var hide = <?php echo $hidefields; ?>;

    function firstAction(){
        $("#userform").hide();
        $("#infowrapper,#passwordreset,#enabledisable").show();
       }
     function secondAction(){
        $("#userform").show();
        $("#infowrapper,#passwordreset,#enabledisable").hide();
       }  

       hide == 1 ? firstAction() : secondAction();


    alert(hide);
});
于 2013-06-15T06:43:43.933 に答える