我试图从< p>操作转化 onLoad 文字< / p> ,以便创建< p>新修改的文字< / p> (关键是我不想在简单的javascript中使用 textareas )。
以下是我一直在尝试做的事情(但它似乎仅适用于来自 textareas 的值):
<script>
<?php include("js/roman.js"); ?>
function afficher(form2) {
var testin = document.form2.TextToModify.value;
document.form2.NewModifiedText.value=hangul_to_roman(testin);
}
</script>
<div>
<p name="TextToModify" value="input" onLoad="afficher(form2)">
TEXT
</p>
<p name="NewModifiedText" value="output">
<!-- NEW MODIFIED TEXT -->
</p>
</div>
有谁知道如何获得&#34; p&#34;之间的第一个文字。标签,以进行转型?
提前谢谢!
答案 0 :(得分:1)
一些注意事项:
p
元素不具备name
或value
属性。document.form2.TextToModify
是访问表单元素的非标准方式。标准方式是document.forms.form2.elements.TextToModify
,但它不会起作用,因为p
元素不是listed elements。
function hangul_to_roman(str){ return str; }
function afficher() {
document.getElementById('NewModifiedText').innerHTML = hangul_to_roman(
document.getElementById('TextToModify').innerHTML
);
}
afficher(); // This must run after loading the DOM
&#13;
<div>
<p id="TextToModify">
TEXT
</p>
<p id="NewModifiedText">
<!-- NEW MODIFIED TEXT -->
</p>
</div>
&#13;
hangul_to_roman
仅包含在此处,以便使代码段可以运行。
注意afficher()
必须在加载元素后调用,例如在关闭</body>
之前放置的脚本中,或者在DOMContentLoaded
或load
的事件监听器中调用事件