2011-05-30 87 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