【发布时间】:2012-04-27 02:00:00
【问题描述】:
我有一个包含class="span" 的跨度和一个隐藏字段class="dropdown"。
span 文本发生变化,我需要抓取文本并将其设置为隐藏字段值的值。
然后我将使用 php(我已经拥有)并使用隐藏字段的名称将文本通过电子邮件发送给我。
我该怎么做?
【问题讨论】:
标签: javascript html
我有一个包含class="span" 的跨度和一个隐藏字段class="dropdown"。
span 文本发生变化,我需要抓取文本并将其设置为隐藏字段值的值。
然后我将使用 php(我已经拥有)并使用隐藏字段的名称将文本通过电子邮件发送给我。
我该怎么做?
【问题讨论】:
标签: javascript html
<script type="text/javascript">
document.getElementById('button1').onChange = function () {
document.getElementById('hidden_field_id').value = document.getElementById('span_id').innerHTML;
}
</script>
【讨论】:
<body>标签之前
onchange 附加到<span> 会起作用。
var span_Text = document.getElementById("span_Id").innerText;
console.log(span_Text)
<span id="span_Id">I am the Text </span>
【讨论】:
innerText 已被所有主要浏览器供应商采用,并且是HTML 标准的一部分。支持非常好:IE 6 +
span元素有子元素并且你只需要文本会更好
document.getElementById("span_Id").innerText; 来拉入跨度字段以实现自动化 - 效果很好。谢谢@maxspan
接受的答案很接近......但没有雪茄!
如果您严格希望将字符串返回给您,请使用 textContent 而不是 innerHTML。
innerHTML 可能会产生副作用,即如果其中还有其他 dom 元素,则为您提供 node 元素。 textContent 会防范这种可能性。
【讨论】:
你需要修改你的代码如下:
<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>
【讨论】:
根据您的其他帖子判断:How to Get the inner text of a span in PHP。您是 Web 编程的新手,需要了解客户端代码 (JavaScript) 和服务器代码 (PHP) 之间的区别。
关于从客户端获取跨度文本的正确方法,我推荐 Johns 回答。
这些是开始的好地方。
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/
【讨论】: