2012-04-27 7 views
27

У меня есть пролет с class="span" и скрытое поле class="dropdown".Получить значение Span Text

Текст изменяется, и мне нужно захватить текст и установить его как значение значения скрытого поля.

Затем я буду использовать php (у меня уже есть) и использовать имя скрытого поля, чтобы отправить мне текст.

Как это сделать?

ответ

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

Как реализовать это в моем коде. Где я могу это выразить? –

+1

Перед закрытием '' tag –

+0

У меня есть кнопка отправки под названием «button1». Можете ли вы сделать эту функцию щелчком, и можете ли вы использовать классы и идентификаторы, которые у меня есть в моем вопросе, пожалуйста :) –

2

Судя по другому сообщению: How to Get the inner text of a span in PHP. Вы совершенно новичок в веб-программировании, и вам нужно узнать о различиях между кодом на клиенте (JavaScript) и кодом на сервере (PHP).

Что касается правильного подхода к захвату текста диапазона от клиента, я рекомендую ответить Джона.

Это хорошее место для начала работы.

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

Также я рекомендую использовать JQuery (После того, как у вас есть некоторые JavaScript практики) это позволит устранить большинство проблем, поддерживающих совместимость кросс-браузерные, которые вы не собираюсь иметь. Но не используйте его как костыль, чтобы учиться, хорошо понимать и JavaScript. http://jquery.com/

+0

ОК, спасибо за ответ! –

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

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

@MichaelStalcup Страница, на которую вы ссылаетесь, говорит 'innerText' была принята всеми основными поставщиками браузеров и является частью стандарта HTML. Поддержка отличная: 'IE 6 +' – Kilmazing

+0

@ Kilmazing спасибо за указание на то, что я удалю свой старый комментарий, так как я не могу его редактировать. Mozilla, должно быть, обновила свою страницу с тех пор, как я смотрел на нее! Или я что-то неправильно понял. Еще несколько интересных дополнительных сведений о innerText на [сайте разработчика Mozilla] (https://developer.mozilla.org/en-US/docs/Web/API/Node/innerText) теперь, если вы посмотрите спецификацию> Комментарий –

+0

Это лучше если ваш элемент 'span' имеет дочерние элементы, и вам нужен только текст – Novastorm

4

Принятый Ответ близко ... но не сигара!

Используйте textContent вместо innerHTML, если вы строго хотите, чтобы строка была возвращена вам.

innerHTML может иметь побочный эффект от предоставления элемента узла, если в нем есть другие элементы dom. textContent будет защищать эту возможность.

3

Вы должны изменить свой код, как показано ниже:

<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> 
Смежные вопросы