2009-04-10 7 views
0

Ich habe eine Liste von Nachrichten mit Element-IDs als "Nachricht" + ID (message1, message2 etc) wenn Benutzer AJAX-Anfrage von einer bestimmten Nachricht ich nur auf die ID zugreifen möchte. sollte ich die ID aus der Message-ID in jQuery vor dem Senden strippen oder tun Sie es auf der Serverseite? Oder gibt es eine einfachere Möglichkeit, die ID für jede Nachricht auf der Webseite darzustellen?Speichern versteckter IDs und dann einreichen mit AJAX, Best Practices?

Antwort

1

Sie können die Nachrichten-ID als Attribut an das DOM-Element selbst anhängen. In Mootools ist

Elm.set('messageId',12);//12 is an arbitrary message id I chose for this example. 
//get it 
alert(Elm.get('messageId')); 

Ich bin 100% sicher in JQuery etwas sehr ähnlich ist. Aber striping die ID selbst, mit JS, aus einer Zeichenfolge mit einem vorbekannten Format ist nicht so schwer.

0

Der Benutzer muss etwas klicken, oder? Wenn es ein Link ist, würde ich die ID irgendwo in den onclick Funktionsaufruf setzen; wenn es eine Schaltfläche ist, gleiche Sache mit einer versteckten Formulareingabe. Dass du das alles mit jQuery machst, macht alles einfacher, ist aber nicht besonders wichtig.

+0

weder, es ist ein div. Benutzer zerrt div und setzt Ajax-Ruf ab. die div id hat die id drin, aber wie trennt man? – zsharp

+0

Dann hat es eine Onclick-Funktion, als ob es eine Verbindung wäre. –

0

Je nachdem, wie der Rest Ihrer Seite funktioniert, können Sie jedes Element in ein Formular-Tag einschließen und ein verstecktes Feld für die ID verwenden. Potenziell könnte dies in Verbindung mit dem jquery forms-Plugin (http://www.malsup.com/jquery/form/) Ihnen insgesamt Entwicklungsaufwand ersparen.

Das Hinzufügen von Attributen zum Dom funktioniert natürlich auch, solange Sie nicht daran interessiert sind, nicht-konforme Attribute dort einzutragen.

In jedem Fall würde ich definitiv empfehlen, einen ID-Wert an den Server in Ihrer Ajax-Anfrage zu senden, anstatt den Wert aus einer Zeichenfolge auf dem Server zu entfernen. Dies ist sauberer und besser von einer Trennung der Sorgen Perspektive.