好的,我正在使用Skulpt在网页上编写Python。 单击按钮后,我希望解释器中的文本发生更改。 但无论我如何尝试,文本区域中的代码都不会改变。 但是,如果我'警告'文本区域的值,它会显示更改的版本,表明该按钮有效。
我也发现了这个问题: Set value of textarea in jQuery 但在我的案件中没有任何帮助:(
以下是我尝试的方法:
<textarea id="theTextArea">print 'Hello World!'</textarea>
<div id="controls">
<button type="button" onclick="replaceCode()">Replace</button>
<button type="button" onclick="testAlert()">Alert Me</button>
</div>
<script>
function replaceCode(){
document.getElementById('theTextArea').value = "print 'Thats new code'";
};
function testAlert(){
alert(document.getElementById('theTextArea').value);
};
</script>
此外,我尝试过更改.innerHTML,。text,但实际上并没有替换textarea中的文本。
如果有人认为它可以帮助,我可以添加完整的HTML文档与整个Skulpt设置为在线python解释器,以防它以某种方式不让我以常规方式更改textarea的值。但是,如果现在不需要,我现在不希望有一道代码。
答案 0 :(得分:0)
您忘记了onclick
中的括号。您应该使用HTMLTextAreaElement.innerHTML
来更改textarea的内容
function replaceCode(){
document.getElementById('theTextArea').innerHTML = "print 'Thats new code'";
};
function testAlert(){
alert(document.getElementById('theTextArea').innerHTML);
};
&#13;
<textarea id="theTextArea">print 'Hello World!'</textarea>
<div id="controls">
<button type="button" onclick="replaceCode()">Replace</button>
<button type="button" onclick="testAlert()">Alert Me</button>
</div>
&#13;
答案 1 :(得分:0)
事实证明,Skulpt正在按照按钮点击修改python代码的方式。我需要使用一个函数,该函数可能是在Skulpt附带的一个导入文档中定义的。该函数如下所示:
editor.setValue("print 'Thats new code'");
然后它实际上在textarea中发生变化:)