2012-10-31 70 views
0

我正在嘗試在我的php頁面中使用一些jQuery函數,這些函數用於wordpress插件。我已經使用下面的代碼導入了jquery api,但是我不知道如何編寫函數。將jQuery函數插入到php

<?php 
    echo "Custom Book Settings Page"; 
    echo '<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js" type="text/javascript"></script>'; 

這將產生語法錯誤

<?php 
    $("#form1").submit(function() { $.post("customBook-index.php"); return false; alert ("submit form 1"); }); 
?> 
+0

爲什麼將JS嵌入到PHP中? – Jakub

+0

在表單提交後保持在同一頁面http://stackoverflow.com/questions/3849968/php-contact-form-want-to-stay-on-my-site-after-send – Tom

回答

2

像其他人一樣,您不能在PHP中使用JavaScipt(或其任何庫)。但是,您當然可以使用PHP來打印將在適當的時間運行的JavaScript。

<?php echo "<script type='text/javascript'> 
    $(document).ready(function(){ 
    $('#form1').submit(function() { 
     $.post('customBook-index.php'); 
     return false; 
     alert ('submit form 1'); 
    }); 
    }); 
</script>"; 
?> 
+0

感謝Douglas的正確答案!我曾嘗試回顯jQuery代碼,但忽略了:「

1

爲什麼你難道不只是有沒有標籤的語法?

$("#form1").submit(function() { $.post("customBook-index.php"); return false; alert ("submit form 1"); }); 

如果你必須有PHP寫的聲明,你忘了回聲

<?php 
echo '$("#form1").submit(function() { $.post("customBook-index.php"); return false; alert ("submit form 1"); });'; 
    ?> 
1

不能使用jQuery像你的PHP之內。 JQuery是一個JavaScript庫。它基本上是爲您預先編寫的代碼,並以易於使用的方式進行抽象。當您致電$('#myElementId)時,您正在調用JavaScript函數(或一組函數)的抽象。

在PHP中使用jQuery不起作用,因爲PHP解釋器無法理解它。這就像說中文給一個(monoglot)英語的說明。此外,PHP和JavaScript之間有着顯着的區別,就像在Web服務器上執行PHP一樣,並且JavaScript在客戶機上執行。這是任何Web程序員都需要理解的重要概念。

簡而言之,您需要將您的JS函數寫入頁面上的<script>標記,以便導航器將其解析爲JavaScript,或者確定您正在嘗試執行的PHP等效項。

+0

TLDR:PHP發生在服務器,jQuery(和JavaScript)發生在客戶端上。兩人可以交流,但他們發生在不同的地方。看看http://blog.themeforest.net/resources/html-css-php-and-jquery-killer-tutorials/。 – Kyros

+0

當然,他們可以溝通(我的意思是說,這是AJAX的重點)。這並不意味着你可以把一個放在另一箇中。 –

+0

...和W3學校是邪惡的。 www.w3fools.com。 –

0
// turn off php 
?> 
$("#form1").submit(function() { 
    $.post("customBook-index.php"); 
    return false; 
    alert ("submit form 1"); 
}); 
<?php