2012-04-27 17 views
27

Mam rozpiętość z class="span" i ukrytym polem class="dropdown".Uzyskaj wartość Span Text

Tekst zmienia się i muszę pobrać tekst i ustawić go jako wartość wartości ukrytego pola.

Będę wtedy używać php (już mam) i użyć nazwy ukrytego pola, aby wysłać do mnie e-mail z tekstem.

Jak to zrobić?

Odpowiedz

39
<script type="text/javascript"> 
document.getElementById('button1').onChange = function() { 
    document.getElementById('hidden_field_id').value = document.getElementById('span_id').innerHTML; 
} 
</script> 
+0

Jak zaimplementować że do mojego kodu. Gdzie to mogę umieścić? –

+1

Przed zamknięciem '' tag –

+0

mam przycisk przesyłania o nazwie "button1". Czy możesz zrobić to za pomocą funkcji kliknięcia i czy możesz użyć klas i identyfikatorów, które mam w moim pytaniu proszę :) –

2

Sądząc po innym poście: How to Get the inner text of a span in PHP. Jesteś całkiem nowy w programowaniu stron internetowych i musisz poznać różnice między kodem klienta (JavaScript) a kodem na serwerze (PHP).

Jeśli chodzi o prawidłowe podejście do chwytania tekstu zakresu od klienta, polecam Johns.

To jest dobre miejsce na rozpoczęcie.

JavaScript: https://stackoverflow.com/questions/11246/best-resources-to-learn-javascript

PHP: https://stackoverflow.com/questions/772349/what-is-a-good-online-tutorial-for-php

Również polecam przy użyciu jQuery (Gdy masz trochę praktyki JavaScript) będzie wyeliminować większość problemów kompatybilności różnych przeglądarkach, że jesteś będzie mieć. Ale nie używaj go jako kuli do nauki, dobrze jest też zrozumieć JavaScript. http://jquery.com/

+0

ok, dziękuję za odpowiedź! –

24
<span id="span_Id">I am the Text </span> 

<script> 
var span_Text = document.getElementById("span_Id").innerText; 
<script> 
+0

@MichaelStalcup Strona, z którą łączyłeś się ze słowem 'innerText' została przyjęta przez wszystkich głównych dostawców przeglądarek i jest częścią standardu HTML. Obsługa jest znakomita: 'IE 6 +' – Kilmazing

+0

@Milmazing thanks za wskazanie, że usunę mój stary komentarz, ponieważ nie mogę go edytować. Mozilla musiała zaktualizować swoją stronę od kiedy ją oglądałem! Albo źle odczytałem coś. Jest jeszcze kilka interesujących dodatkowych informacji na temat innerText w [witrynie Mozilli] (https://developer.mozilla.org/en-US/docs/Web/API/Node/innerText) teraz, jeśli spojrzysz na Specyfikację> Komentarz –

+0

To jest lepsze jeśli twój element 'span' zawiera elementy potomne i potrzebujesz tylko tekstu – Novastorm

4

Przyjęte rozwiązanie jest blisko ... ale nie cygar!

Użyj textContent zamiast , jeśli chcesz, aby ciąg był zwracany.

innerHTML może mieć efekt uboczny podawania elementu węzła, jeśli istnieją tam inne elementy dom. textContent będzie chronić przed tą możliwością.

3

Musisz zmienić swój kod jak poniżej:

<html> 
<body> 

<span id="span_Id">Click the button to display the content.</span> 

<button onclick="displayDate()">Click Me</button> 

<script> 
function displayDate() { 
    var span_Text = document.getElementById("span_Id").innerText; 
    alert (span_Text); 
} 
</script> 
</body> 
</html>