【问题标题】:Change CSS property with PHP使用 PHP 更改 CSS 属性
【发布时间】:2011-08-18 04:50:14
【问题描述】:

我有一个通过 jquery ajax 提交给自身的表单。如果出现错误,我想将错误消息“#error”显示从“none”更改为“block”。

<?php
 $username = "username";
 $password = "password";
 if ($_POST['username'] != $username || $_POST['password'] != $password) {
 /*need to make change here*/
 ?>

/* 登录表单*/ /登录后的目标页面/ 和提交功能

<script type="text/javascript">
$(function() {          
        $("#MHLogin").validate({
            errorPlacement: function(error,element) {
                   return true;
                },

            submitHandler: function(form) {
                $("#processing").show();
                form.submit();
                return false;

           },
            rules: {
                    username: {
                        required: true
                    },
                    password: {
                        required: true
                    }
            }
        });
    });
</script>

本质上首先显示登录表单,如果您正确登录,它会显示内容。如果您在字段中没有任何内容点击提交,则文本输入会收到错误类 - 这部分有效。但是,如果您提交一个空白或不正确的表格,该表格就会被清除。如果它不正确,我尝试在第一部分回显“错误”,然后使用基于返回值的成功处理程序 - 并更改显示 - 但是当我添加回显“错误”时;它只是在页面顶部打印“错误”。

谢谢!

【问题讨论】:

    标签: php jquery ajax validation


    【解决方案1】:

    在您的 PHP 代码中,设置如下变量:

    <?php
    $state = 'block';
    ?>
    <html>
        <script>
            var state = "<?=$state?>";
        </script>
    </html>
    

    基本上,您将一个 PHP 变量输出到您的文件,然后使用一个全局 javascript 变量来保存该变量的值。在您的 Jquery 代码中,您将能够读取此变量。

    我在我的框架中使用了一个更加模块化的版本,我的渲染引擎能够控制加载哪个 CSS 或 JS 文件。还有一个由我的脚本生成的全局 javascript 对象,它包含所有全局数据,如基本 url、服务器时区、同步数据等,这些数据将在所有客户端脚本中重用。

    希望这会有所帮助。

    更新:

    它是这样工作的:

    // In your html file 
    <script>var a = '<?=$state?>';</script> <-- set the global var here
    <script src="js/bar.js"></script>       <-- include your scripts after the global one
    
    --------------------------------------------------------
    
    // In your bar.js file 
    alert(a)  // should show the contents of $state stored in the global var a
    

    【讨论】:

    • @Ruben,好的,所以我设置了变量状态,之后我不再关注。对不起,只是没有那么聪明。通常从远程 PHP 脚本中,我会回显“错误”或“成功”,然后在成功函数中执行类似“成功:函数(数据){ 如果(数据 =“错误”)...显示错误消息。 .不与您发布的内容建立联系,请告知。
    • 为什么将表单发布到自身而不是某种验证脚本?除此之外,看起来您确切地知道该怎么做。在 php 代码中,打印“错误”或“成功”并将其与 ajax 中的数据进行比较。适当更新#errors
    • @tandu,通常我会使用远程表单。情况要求这样做,这是一个愚蠢的登录表单来查看 PHP 库,这是我可以让它工作的唯一方法。
    • 为什么不创建一个php页面validate_photo_gallery_login.php,其唯一目的是根据post数据打印“错误”或“成功”?
    • @tandu - 当我像以前那样做时,我可以限制只有那些已经登录的人才能访问。如果我在它后面的页面中有画廊,我找不到限制访问的可靠方法。我错误地向我的老板展示了如何欺骗标头(检测 http 引荐来源网址)和 cookie。就像我说的情况一样,这就是我所在的地方。
    猜你喜欢
    • 1970-01-01
    • 2016-01-09
    • 2014-05-14
    • 2016-08-13
    • 2012-07-07
    • 2012-07-13
    • 2018-02-22
    • 1970-01-01
    • 2019-08-01
    相关资源
    最近更新 更多