0

我有一个正在处理的注册表单,结果证明它很痛苦。

我对 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 都工作。

谢谢。- 瑞安

4

2 回答 2

1

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

于 2013-01-29T04:18:53.763 回答
0

这里有很多事情正在发生。需要一步一步来做这件事。

  1. 您的 PHP 应该使用<?php格式或使用<?短格式,但要确保我会全部编码,<?php以便它在任何地方都兼容
  2. 当您需要回显或输出某些内容时,请使用<?php echo $variable; ?>而不是<?=. 并不是说它不好,但它会消除任何带有 asp 样式输出的 php 配置问题。
  3. 首先测试 php 输出然后检查 if 语句。

Jquery 不会弄乱你的 PHP。这个标题和我的回答一样随机。

于 2013-01-29T04:16:21.660 回答