2012-12-18 64 views
0

我在我的網站中嵌入了一個提交搜索的按鈕。該表格的搜索值是從txt文件中輸入的php code。我的問題是,這個php code它的網頁加載時只加載一次。這是一個問題,因爲txt文件不斷變化,其內容僅在第一次讀取。所以我想要的是當提交按鈕被點擊時使搜索值被輸入。換句話說,我期望讓php code運行並填充搜索值onClick。onClick輸入php的值

這裏的形式:

<form id="search" action="http://www.example.com/search.php" method="get" target="_blank"> 
<input type="hidden" name="search" value="<?php $file = "http://www.clavederock.com.ar/zararadio/CurrentSong.txt"; 
    $f = fopen($file, "r"); 
    while ($line = fgets($f, 1000)) { 
    $line = preg_replace("/-(.*?)-/", "", $line); 
    print $line;}?>"/> 
<input type="hidden" name="language" value="es"/> 
<input type="image" src="img/psue.png"> 
</form> 

任何建議或幫助將aprecciated!謝謝!

編輯:我看到php得到執行之前頁面交付,因爲是服務器端腳本。爲了解決這個問題,是否有辦法讓php code每x秒運行一次?就像你在做一個div:

setInterval(function(){ 
$('#ID').load('example.php'); 
}, 10000); 
+0

如果你的表單動作將你帶到search.php,打開文件並在搜索時提取你需要的信息 –

+0

也許使用Javascript,看這裏,不是相同的情況,而是關於文件:'http:// stackoverflow.com/questions/750032 /閱讀文件的內容在客戶端在JavaScript中的各種瀏覽器' – rendon

+0

我沒有任何控制任何超過search.php – fpolloa

回答

4

你將不得不解決這個不同的方式,PHP是服務器端腳本(它獲取頁面之前交付執行)和JS是客戶端,這意味着它從頁面交付時開始執行,並在顯示時執行。

您可以嘗試使用AJAX,並查詢該文件並更改回調中的內容。

編輯:我想我更好地理解你的問題。您將不得不使用AJAX,並在獲取動作的文件中包含PHP代碼。您可以將輸入值作爲get變量發佈,即?input = value,然後在PHP文件中獲取。然後使用AJAX獲取響應,而無需重新加載頁面。

+0

這就是我猜測的。有沒有辦法用JS完成我想要的東西? – fpolloa

+1

它不會像文件處理最好的服務器端一樣漂亮(或精簡)。 但是:http://stackoverflow.com/questions/6861180/how-can-you-read-a-file-line-by-line-in-javascript有一個很好的方法來讀取文件,它可以被解僱在一個.click事件(並以某種方式傳遞輸入值) – Ojame

+0

我編輯我的問題與另一個可能性...你怎麼看? – fpolloa