这是我当前的代码。当我单击批准按钮时。...html heya更改为fred flinstone,但在2秒后再次返回heya。为什么这样?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<script language="javascript" type="text/javascript">
function button()
{
    var a = document.getElementById('approve');
    document.getElementById('p').innerHTML= 'Fred Flinstone';
}
</script>

<body>
<form>
<p id="p">heya</p>
<input type="submit" id='approve' value="approve" onclick="button()"/>
<input type="submit" id="reject" value="reject"/>
</form>

</body>
</html>


谢谢。

最佳答案

这是因为“提交”按钮导致页面重新加载,从而有效地撤消了对DOM的更改。

如果将输入元素的类型更改为“按钮”而不是“提交”,则可以正常工作。

<input type='button' id='approve' value='approve' onclick='button()'/>


请注意,这样做时,该按钮将不再发布表单。如果这是您想要的,那么您将需要在服务器端具有代码来修改呈现的页面以反映您的更改。

关于javascript - 为什么这个innerhtml事情可以追溯?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4173365/

10-13 00:21