-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 页面返回的变量之一是

$hidefields="1"

问题是虽然我可以看到 php 正确更新了 var,但 jquery 并没有用这个新值更新。我已经测试了一个警告框,它仍然将 var 显示为 0,而 php 将其回显为 1。我只能假设它是缓存的或其他东西。

<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 使用这个新的 var 进行更新吗?我非常接近完成这项工作,这是陡峭学习曲线中的最后一个障碍。然后我可以做一些甜蜜的powershell集成^^。

谢谢。

4

1 回答 1

0

You can reduce this a bit :

$(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 回答