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 に答える