稍后在HTML中使用onclick()返回值

时间:2014-04-09 23:58:01

标签: javascript onclick

我正在尝试实施一个简单的网页进行测试。

到目前为止,我有这个:

在HTML中:

<script type="text/javascript" src="main.js"></script>
<p id="message"> 1st Message </a><br>
<input type="button" value="Click Me" onclick="changeMessage()">
位于main.js中的

changeMessage()返回一个字符串。 (&#34;第二条消息&#34;)

单击此按钮后,我想从&#34; changeMes​​sage&#34;中获取返回值。并将<p id="message">的值更改为返回值,即&#34;第二条消息&#34;

这可能吗?我尝试使用innerHTML属性,但无法弄清楚如何使用返回的值。

2 个答案:

答案 0 :(得分:0)

http://www.w3schools.com/jsref/prop_html_innerhtml.asp

function changeMessage() {
    document.getElementById('message').innerHTML="2nd Message";
}

答案 1 :(得分:0)

嗯,changeMessage听起来不应该实际返回一个值,或者至少它不应该是一个无副作用的方法。确保以反映其功能的方式命名您的功能。

如果您保留当前代码中的内联处理程序,则可以执行以下操作:

function changeMessage(message) {
    document.getElementById('message').textContent = message;
}

<input type="button" value="Click Me" onclick="changeMessage('2nd Message')">

只需稍加改动,您就可以使API变得更加灵活和富有表现力。

然而,这依赖于许多不良做法,例如需要全局变量。模块化,可测试性和可伸缩性超出了这个答案的范围,但请至少看看addEventListener,它是内联处理程序的更好替代方案。