簡體   English   中英

為什么jQuery代碼在我的php文件中不起作用?

[英]Why doesn't jQuery code work in my php file?

我在將jQuery插件放入我的php文件時遇到困難。 我希望能夠在文本字段為空時阻止發送表單,但是它不起作用。

PHP:

    <html>
    <head>    
        <script src="jquery.js"></script>
    </head>

<?php


    if ($_SERVER["REQUEST_METHOD"] == "POST") {
        if(empty($_POST["login"])) {
        echo '<script type="text/javascript">
            $("form").submit(function(event){ 
            event.preventDefault();
            alert("submit prevented");
            });                 
            </script>';
        }else {
        $login = test_input($_POST['login']);
        }

    }
?>

HTML:

<form action="form.php" method="post"> 
    Login: <input type="text" name="login"><br>
    <input type="submit">
</form>

我的腳本文件中的相同腳本

$("form").submit(function(event){ 
    event.preventDefault();
    alert("submit prevented");
});

工作正常,問題是我不能將其放入我的php中,我認為是因為缺少jQuery。

只需從$(document).ready() ,這是jquery中的一個很好的實踐:

$(document).ready(function() {
  $("form").submit(function(event) {
    event.preventDefault();
    alert("submit prevented");
  });
});

您的代碼:

  echo '<script type="text/javascript">
        $("form").submit(function(event){ 
        event.preventDefault();
        alert("submit prevented");
        });                 
        </script>';

這不是您在PHP中正確回顯多行的方式。 查看heredoc。 例:

echo <<<EOD
Example of string
spanning multiple lines
using heredoc syntax.
EOD;

echo <<<"FOOBAR"
Hello World!
FOOBAR;

現在也有doc,但是在該塊內部沒有解析。

echo <<<'EOD'
Example of string
spanning multiple lines
using nowdoc syntax.
EOD;

不用回聲,只需合上大括號即可。 也$(document).ready

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    if(empty($_POST["login"])) {;?>

        <script type="text/javascript">
          $(document).ready(function(){
            $("form").submit(function(event){ 
              event.preventDefault();
              alert("submit prevented");
            });             
          });    
         </script>

    <?php }else {
    $login = test_input($_POST['login']);
    }
};?>

暫無
暫無

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

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