Html / js未按预期工作。当我点击“发送电子邮件”按钮时,我希望永久显示“电子邮件已发送到您的地址”的消息。但实际发生的事情是消息显示几乎没有1秒消失。当我一次又一次点击但没有永久显示时也是如此。
<form>
<table>
<tr>
<td>
<label>Email Address:</label>
</td>
<td>
<input type="text" name="Email" placeholder="Email" />
</td>
</tr>
<td>
</td>
<td><br/><br/>
<input id="btnSave" type="submit" value="Send Email" onclick="val()" />
</td>
</tr>
</table>
</form>
<div id="msg">
</div>
<script>
function val (){
if (document.getElementsByName("Email").value =="")
{
document.getElementById("msg").innerHTML='<p>No data entered</p>'
}
else
{
document.getElementById("msg").innerHTML='<p>An Email has been sent to your address</p>'
}
}
</script>
答案 0 :(得分:1)
因为这是form
,并且当您点击它时发送电子邮件按钮是submit button
,它会提交表单,从而触发页面刷新。这就是消息短暂出现的原因。
您可以阻止表单通过javascript提交。
如果你不需要表格(你现在没有做任何事情),你也可以简单地删除表格。