Jquery - skicka innehållet mellan spantaggar i ett formulär

Permalänk

Jquery - skicka innehållet mellan spantaggar i ett formulär

Hej!

Med Jquery, hur skickar jag med innehållet mellan spantaggar, i ett formulär i en input type hidden?

Så här löste jag det med JavaScript och det fungerar. Hur gör jag med Jquery?

<html> <head> <title>Untitled Page</title> <script type="text/javascript" language="javascript"> function getImageID() { document.getElementById('hiddenImageID').value = document.getElementById('imageID').innerHTML; } </script> </head> <body onload="getImageID();"> <p>Bildens ID: <span id="imageID">ABC999</span></p> <!-- ABC999 skickas --> <form> <input type="hidden" id="hiddenImageID" name="Bild-ID" value="" /> <!-- hit --> </form> </body> </html>

Tackar ödmjukast!

/ Henrik

Permalänk
Medlem

$(function() { $("#hiddenImageID").val($("#imageID").text()); });

Så kan du ta bort din onload="getImageID();" och ersätta din JavaScriptkod med den här.

Permalänk

Strålande! Tack!

Får jag fråga lite mer? Jag testade att skriva funktionen så här i stället:

$(document).ready(function () { $("#hiddenImageID").val($("#imageID").text()); });

Vad skiljer document.ready från ditt sätt? Spelar det någon roll?

Och, om du vill: är det bättre att använda jquery i stället för javascript på "vanligt sätt"? Vad är fördelarna?

Permalänk
Medlem

Ja det lär gå snabbare att göra på "vanligt sätt" med javascript. Det är enda skillnaden.

jquery har man till avancerade saker eller om man är lat till enkla saker som då blir ännu enklare.

Permalänk
Medlem

Det går precis lika bra att skriva som du skrev, det sättet jag skrev på är lite mer "short-hand" men å andra sidan svårläst om man inte vet vad den gör, och det sättet du skrev på är lite mer lättläst. Man ser direkt vad den där funktionen gör. Det finns fler sätt att skriva det på också, använd vilket sätt du än gillar bäst.

Ett sätt att se på jQuery och andra ramverk är att det är just ett ramverk, ett ramverk mot webbläsarna. Du slipper till 99% tänka på eventuella skillnader mellan olika webbläsare, exempelvis hur man attachar events, hittar DOM-noder eller hämtar attribut. jQuery tar hand om all sån problematik åt dig, och det enda du behöver lära dig är hur du ska anropa jQuery. På så sätt kan man säga att om man skriver sin JavaScript med jQuery så kodar man inte JavaScript, man kodar jQuery.

Du kommer alltid att tappa lite performance jämfört med att skriva "nativekod", d.v.s. ren JavaScript utan massa ramverk och skit, men frågar du mig så är det utan tvekan värt det att använda ett ramverk. Din kod blir mycket mer lättläst när du slipper inkludera logik för eventuella diskrepanser mellan de olika webbläsarna och du kan själv fokusera på vad du vill åstadkomma istället för att fulhacka dig runt massa egenheter i olika webbläsare. Så frågar du mig så är jQuery "bra" på så sätt, men frågar du någon annan kommer du kanske att få ett annorlunda svar.

Edit: Sen så får man ju alltid göra en avvägning, om du enbart gör extremt enkla saker i JavaScript, som t.ex. den saken du vill ha hjälp med här, eller väldigt prestandaintensiva saker, så är det kanske inte värt att dunka in ett JavaScriptbibliotek enbart för det. Det är som sagt en avvägning man själv får göra.

Permalänk

Ok ok. Tack hör ni!

Jag lär nog återkomma med fler jquery-frågor ...