2012-04-03 54 views
1

好吧,我有這樣的代碼:HTML到了jQuery PHP,然後從PHP到了jQuery HTML

<html> 
<head> 
<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.min.js"></script> 
<script type="text/javascript"> 
function get() { 

    $.post('tt.php', { name : $(this).attr('id') }, function(output) { 
     $('#age').html(output).show(); 
    }); 
} 

</script> 
</head> 
<body> 

<input type="text" id="name"/> 
<a id="grabe" href="javascript: get()">haller</a> 
<div id="age">See your name</div> 
</body> 
</html> 

這是我想要的東西:您可以通過錨標籤錨標籤已被點擊的ID由用戶通過jQuery,然後通過它到PHP文件。然後,PHP文件會將用戶點擊的錨標記的id名稱回顯給jQuery,然後jQuery將輸出顯示到指定的元素中。

這裏的PHP文件:

<? 
$name=$_POST['name']; 

if ($name==NULL) 
{ 
echo "No text"; 
} 
else 
{ 
echo $name; 
} 
?> 
+1

所以ID從HTML轉到JQuery的,然後到PHP,然後回JQuery的? – rcplusplus 2012-04-03 04:05:13

+0

@rcplusplus他只是試圖讓它在這一點上工作。我懷疑這將是他的代碼的最終實現。 – dqhendricks 2012-04-03 04:18:07

+0

@dqhendricks:是的,這段代碼實際上只是一個expire,一旦這個expire成功了,我就會把它實現到我的項目中,一個cms項目。 – 2012-04-04 00:56:08

回答

1

綁定你的事件是這樣,因爲你是使用jQuery

$('a').click(function(){ 
    $.post('tt.php', { name : $(this).attr('id') }, function(output) { 
     $('#age').html(output).show(); 
    }); 
}); 

而且從href

<a id="grabe" href="#">haller</a> 
<a id="kane" href="#">haller 2</a> 
+0

謝謝,它的作品像魅力。 – 2012-04-04 01:16:33

0

您可以使用$(this)訪問的幾乎所有的「是什麼把你帶到這裏」中的代碼。你還需要一個事件監聽器。在下面的這個太簡短的例子中,我聽它點擊了<span class="edit_area">跨度。

<script> 
$(document).ready(function(){ 
    $('span.edit_area').click(function(){ 
     var fieldname = $(this).attr('id'); 
     ... 
    }); 
}); 
+0

謝謝,它的作品像魅力。 – 2012-04-04 01:17:12

1
$('#grabe').click(function() { 
    $('#age').load('yourphp.php', {'name':$(this).prop('id')}); 
}); 
+0

謝謝你,它的作品像魅力。 – 2012-04-04 01:16:55

0

我不知道你爲什麼要一個id發送到服務器,然後從Ajax調用再次收到ID,因爲它已經存在於你的客戶端腳本。無論如何,這是代碼。

此代碼將做到這一點functionalirty與一類的所有標籤名爲「crazyLink」,並顯示從服務器頁收到一個div id爲數據anotherCrazyDiv

HTML

<a class="crazyLink" href="#">I am crazy</a> 
<a class="crazyLink" href="#">I am crazy2</a> 
<div id="anotherCrazyDiv"></div> 

腳本

$(function(){ 
    $(".crazyLink").click(function(){ 
    var id=$(this).attr("id"); 
    $.post("data.php", { name : id } ,function(data){ 
     $("#anotherCrazyDiv").html(data); 
    }); 
    return false; // to prevent normal navigation if there is a valid href value 
    }); 
}); 

請記住,在您的方案中,id變量中的值和data變量中的值(獲得響應後來自ajax調用)是相同的。

+0

謝謝,它的作品像魅力。 – 2012-04-04 01:17:21

0
您可能希望你的JavaScript從HTML代碼中分離

刪除javascript。它使事情變得更容易。它應該看起來像這樣。

HTML

<html> 
<head> 
<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.min.js">  </script> 
<script type="text/javascript" src="javascript/somescript.js"></script> 
</head> 
<body> 

<input type="text" id="name"/> 
<a id="grabe" class="someclass">haller</a> 
<div id="age">See your name</div> 
</body> 
</html> 

的JavaScript

$(document).ready(function() { 
    $('.someclass').click(function() { 
     $('#age').load(
     url: 'tt.php', 
     data: { name: $(this).attr('id')} 
    ); 
    }); 
}); 
+0

謝謝,它的作品像魅力。 – 2012-04-04 01:17:30