jQuery搞乱了我的PHP

时间:2013-01-29 04:10:16

标签: php javascript jquery forms registration

我有一份我正在处理的注册表格,结果很痛苦。

我对PHP很新,所以请给我一些懈怠 - 哈哈。

我安装了一个jQuery插件,允许我为我的文本框制作内联标签。我还为注册过程中发生的任何错误(无效的电子邮件等)创建了一个错误框。这是我的一些HTML / PHP代码。

    <?php
    if($_POST['submit'])
    {
$signuperror = "Hello World";
     ?>

            <?php if($signuperror != "") { ?>
            <span id="signuperror"><?= $signuperror; ?></span>
            <?php } ?>

问题是当我点击表单上的提交按钮时,“Hello World”的“错误”没有显示。我将此代码复制并粘贴到test.php文档上,并且工作正常。所以我知道它必须来自我的其他HTML代码。几乎每行代码排除故障后,我找到了罪魁祸首。事实证明,内联标签的jQuery插件初始化是个问题。

    $(function(){
            $.fn.formLabels();
            $("form").submit(function(){
                var formVal = $("form").serialize();
                parent.$("#default div.results").html(formVal);
                return false
            })
        });

当我删除它时,它工作得很好(当然没有我的内联标签)。

我能做些什么来完成PHP和jQuery的工作。

感谢。 - 瑞恩

2 个答案:

答案 0 :(得分:1)

请注意return false功能末尾的$("form").submit()。这意味着jQuery函数取代了表单的POST操作。您没有同步重新加载页面,因此$_POST["submit"]没有任何值。摆脱return false行,看看页面是否按预期重新加载。

答案 1 :(得分:0)

这里有很多事情要发生。需要一步一步地做到这一点。

  1. 您的PHP应该使用<?php格式或使用<?简短格式,但要确保我会在<?php中编码,以便在所有地方进行兼容
  2. 当您需要回显或输出内容时,请使用<?php echo $variable; ?>而不是<?=。不是它没有好处,但它会消除asp样式输出的任何php配置问题。
  3. 首先测试php输出然后检查if语句。
  4. Jquery并没有弄乱你的PHP。那个标题和我的答案一样随机。