2011-05-30 83 views
1

這是我的第一篇文章,每一個意見/幫助將會受到我的讚賞。解析JavaScript到php

我是新來的PHP和JavaScript。 因此,讓我們開始吧...

我想要做的是每次點擊文本時將變量解析爲外部的php表單。 例如,讓我們假設我有以下字符串回顯$test = "what a beautiful day"; 我想要當一個人點擊什麼"phpquery?test=what"被觸發。 從我已閱讀的JavaScript可以幫助,因爲客戶端腳本邏輯 謝謝大家提前!

+1

你是指* pass *? – alex 2011-05-30 11:36:13

+0

你想讓用戶重定向到phpquery還是隻爲該頁面運行? – 2011-05-30 11:36:59

+1

請參閱[另一個問題](http://stackoverflow.com/questions/6175724/how-to-pass-a-jquery-variable-to-php)最近也問過。 – Pointy 2011-05-30 11:47:31

回答

0

我會分析句子以這樣的方式,每個字被封裝在一個標籤。例如:

<span class="clickable">What</span> <span class="clickable">a</span> <span class="clickable">wonderful</span> <span class="clickable">day</span> 

比你可以點擊功能綁定到這些跨度,像這樣使用JQuery

$(document).ready(function() { 
    $("span.clickable").bind("click", function() { 
      var wordClicked = $(this).html(); 
      $.get("phpquery?word=" + wordClicked); 
    }); 
}); 

,做作爲SalmanPK建議和使用$不用彷徨派詞點擊PHP :)

HTH

+0

更好的做在客戶端的跨度封裝。看看我的解決方案。這樣你就可以專注於輸出你想要的文本,而不要將封裝邏輯添加到服務器端。此外,我們封裝的唯一原因是使文本的部分可點擊。所以它與js功能無關。 – netbrain 2011-05-30 12:03:32

+0

是啊好的解決方案...我不會經歷那種麻煩,如果它不是太昂貴,他做服務器端:) – 2011-05-30 12:06:29

+0

是不是在服務器端同樣大的麻煩,如果不是更大?另外,http有效負載得到的更大。服務器處理時間更長。我沒有看到任何專業人士在服務器端與客戶端進行交互。 – netbrain 2011-05-30 12:11:39

0

是的,你將不得不這樣做使用AJAX。

看看jQuery,它很容易學習新手。

你可以使用這個簡單的代碼使用jQuery做到這一點: -

$('a').click(function(){ // You can use a css selector to select your anchor tag 
    $.get("phpquery?test=what"); 
}); 
+0

將它綁定到句子的onclick並指定回調函數 – mplungjan 2011-05-30 11:43:55

+0

@SalmanPK - 在學習jQuery不是編程語言之前,他應該學習javascript。 – Christian 2011-05-30 11:45:41

+0

hehe當然@mplungjan,謝謝,更新:) – 2011-05-30 11:47:58

0

Ofcourse在大多數情況下的XMLHttpRequest將是合適的,但也許你更喜歡簡單的解決方案:

window.location.search = "?test=what"; 
0

這裏是一個如何使用jQuery實現點擊處理的示例,以及如何執行ajax調用(警告後註釋掉)

http://jsfiddle.net/UgXAH/1/

HTML:

<p class="interactive">this is some text</p> 

的Javascript:

$().ready(function(){ 
    var textArray = $('.interactive').text().split(' ') 
    $('.interactive').empty() 
    $(textArray).each(function(){ 
     var textItem = $('<span>'+this+' </span>') 
     textItem.click(function(){ 
      var text = $(this).text() 
      alert('fire off ajax request with text='+text)    
      /*$.ajax({ 
       url:'some-url.php', 
       data:{ 
        text:text 
       }  
      })*/ 
     }) 
     $('.interactive').append(textItem) 
    }) 
}) 
+0

你好netbrain。你能告訴我怎麼去網址嗎? – teo6389 2011-06-20 15:17:12