2012-04-03 15 views
1

Ok, ich habe diesen Code:HTML jQuery PHP, dann von PHP zu 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> 

Hier ist, was ich will: die ID einen Anker-Tag von dem Anker-Tag erhalten, die angeklickt wurde vom Benutzer über jQuery und dann in eine PHP-Datei. Die PHP-Datei wird dann den ID-Namen des Anker-Tags, auf den der Benutzer geklickt hat, an die jQuery zurückgeben, die dann die Ausgabe im angegebenen Element anzeigt.

Hier ist die PHP-Datei:

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

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

So die ID geht aus dem HTML-Code der JQuery, dann zu PHP, und dann zurück zu JQuery? – rcplusplus

+0

@rcplusplus er versucht nur, es an diesem Punkt zum Laufen zu bringen. Ich bezweifle, dass dies die endgültige Implementierung seines Codes sein wird. – dqhendricks

+0

@dqhendricks: Ja, dieser Code ist eigentlich nur ein Exit, sobald dieser Erfolg erfolgreich ist, werde ich dies in mein Projekt, ein cms Projekt, implementieren. –

Antwort

1

Ihre Veranstaltung wie diese binden, da Sie

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

Und das Javascript aus der Sie möglicherweise href

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

Danke, es funktioniert wie Charme. –

0

Sie können $(this) verwenden, um fast alles über „was hat dich hierher gebracht“ im Code. Sie benötigen außerdem einen Listener für das Ereignis. Auf diese Weise zu kurz Beispiel unten, ich habe es für alle Klicks auf <span class="edit_area"> Spannen hören.

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

Danke, es funktioniert wie Charme. –

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

Danke, es funktioniert wie Charme. –

0

Ich weiß nicht, warum Sie eine ID an einen Server senden möchten, und dann diese ID wieder aus dem Ajax-Aufruf zurückerhalten, da es dort bereits in der Client-Skript. Wie auch immer, das ist der Code.

Dieser Code tut dies functionalirty für alle ein Tag mit einer Klasse namens "crazyLink" und zeigen die Daten vom Server-Seite in einem div mit id anotherCrazyDiv

empfangen HTML

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

Script

Beachten Sie, dass in Ihrem Szenario der Wert in ID Variable und Wert in Datenvariable (nach dem Erhalten der Antwort) von Ajax Call) sind gleich.

+0

Danke, es funktioniert wie Charme. –

0

entfernen Ihr Javascript aus Ihrem HTML zu trennen. es macht die Dinge leichter. es sollte wahrscheinlich so aussehen.

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

Danke, es funktioniert wie Charme. –