簡體   English   中英

jQuery弄亂了我的PHP

[英]jQuery is messing with my PHP

我有一份正在處理的注冊表,事實證明這很痛苦。

我是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都能正常工作。

謝謝。 -瑞安

注意$("form").submit()函數末尾的return false 這意味着jQuery函數將取代表單的POST操作。 您不會同步地重新加載頁面,因此$_POST["submit"]沒有任何值。 擺脫return false行,並查看頁面是否按預期重新加載。

這里發生了很多事情。 需要逐步執行此操作。

  1. 您的PHP應該使用<?php格式還是使用<? 簡短的形式,但是要確保我會在<?php全部編碼,因此它到處都兼容
  2. 當您需要回顯或輸出某些內容時,請使用<?php echo $variable; ?> <?php echo $variable; ?>而不是<?= 並不是說它不好,但是它將帶出asp樣式輸出的任何php配置問題。
  3. 首先測試php輸出,然后檢查if語句。

jQuery不會弄亂您的PHP。 這個標題和我的回答一樣隨機。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM