2013-05-30 69 views
0

我想從php代碼調用一個javascript函數,它將從輸入窗體接收一個php變量。一旦Javascript函數收到這個變量或值,它會調用一個php(search.php文件)來做一個查詢和其他工作。如何調用通過PHP中的變量的Javascript

PHP代碼:

<? 
I need to call search function in php passing the $_POST Global variable value : 
something like this: <script> search($_POST) ; </script> 
?> 

JavaScript文件名:call_search.js:

function search($_POST or variable) { 
    var search_query = $(this).val(); 

    $.post('search.php', {search_query : search_query}, function(searchq) { 
     $('#search_query').html(searchq); 
    }); 
} 

諾塔:search.php中是另一個PHP文件做MySQL查詢等工作它發回的結果是:MySQL查詢回到Javascript函數。

任何幫助..請。!!非常感謝你。

回答

3

像這樣的東西應該工作:

<script type="text/javascript"> 
    search(<?php echo $_POST; ?>); 
</script> 

但是請注意,這可能傳遞變量很不好 - 試圖尋找到JavaScript框架和檢索您通過在後臺一個RESTful API需要的任何信息。

1

對於JS的參數,你可以在JS發送對象..使用json_encode在PHP

echo '<script>'; 
echo 'search('.json_encode($_POST).')'; 
echo '</script>'; 

function search(obj) { 
    console.log(obj); 
} 
0

你做錯了或者我不明白究竟你在做什麼。

給搜索字段一個id(searchInput)並獲取jQuery中的值,然後從那裏發送給php來收回響應。

function search() { 
var search_query = $('#searchInput').val(); 

$.post('search.php', {search_query : search_query}, function(searchq) { 
    $('#search_query').html(searchq); 
}); 

} 

希望這會有所幫助。 祝你好運年輕padawan,並可能與您的來源。

+0

我沒有蜜蜂可以使它的工作,我已經嘗試在論壇上的每一個建議。我如何將index.php的id(search Input)傳遞給file2.php。我知道$ _GET和$ POST,但我不知道如何告訴file2.php檢查搜索字段ID中的值:(searchinput) – Victor

+0

您正在搞砸這裏的東西!對你來說,http協議非常簡單。它以這種方式工作:OneClient請求 - >一個服務器響應。 – mondjunge

+0

你搞砸了!您在這裏看到的(Javascript)代碼在您的瀏覽器(Clientside)中運行,它可以在您的HTML中查找一個值,並在search.php中向服務器提交POST請求(這裏是:search.php文件),您可以處理POST變量與<?php echo $ _POST ['search_query']; ?>。您不需要「告訴file2檢查搜索字段中的值」,事實上,服務器不能這樣做,導致您的輸入字段位於瀏覽器中,並且必須按順序以某種方式提供給php文件待處理。 – mondjunge

0

如果添加Java腳本代碼

echo "<script src=\"call_search.js\"></script>"; 

和回聲本作中,你的PHP的活動,將工作:

echo "<body onLoad=\"search($param)\">"; 

echo "<script> search($param) </script>"; 

它會當頁面加載時加載。

0

如果我明白你的問題,形式必須有一個簡單的按鈕,而不是提交按鈕,和中庸之道使用serialize()通過ID來獲得所有形式的數據

$.post('search.php', $('#IDform').serialize())

你會發現更多細節here

0

你也可以看看SpiderMonkey。它是一個PHP引擎,它具有讓你從Javascript訪問PHP變量和類的功能。不過,我同意Jeroen。從長遠來看,它可能不是最好的解決方案。