2012-04-03 52 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