[英]Browsers behave differently after 'submit' form is exectuted
我有一个非常简单的例子:
<html>
<head>
<title> Addition</title>
<script type="text/javascript">
document.write("Please enter values to be added into the fields and click Add button1");
function sum()
{
var num1 = document.formOne;
value1 = Number(num1.input1.value);
var num2 = document.formOne;
value2 = Number(num2.input2.value);
if (value1=="")
{
document.write("Valid value cannot be empty!");
}
else if(value2=="")
{
document.write("Valid value cannot be empty!");
}
else
{
var add = value1 + value2;
document.write ("The sum is " + add );
}
return true;
}
</script>
</head>
<body>
<form id="forma" name="formOne" runat="server" onsubmit="sum()">
<p><input id="Textone" name="input1" type="text" size="8"></p>
<p><input id="Texttwo" name="input2" type="text" size="8"></p>
<p><input type="submit" value="Add"> </p>
</body>
</html>
在IE中,单击“添加”后,给出了答案,但是页面不会在F5上重新加载。 要重新加载,我需要点击“返回”。 在Chrome中,答案会闪烁,但页面会重新开始。 我究竟做错了什么?
如果您不希望表单将数据提交回服务器,则onsubmit
参数应返回false。
function sum()
{
var num1 = document.formOne;
value1 = Number(num1.input1.value);
var num2 = document.formOne;
value2 = Number(num2.input2.value);
if (value1=="")
{
document.write("Valid value cannot be empty!");
}
else if(value2=="")
{
document.write("Valid value cannot be empty!");
}
else
{
var add = value1 + value2;
document.write ("The sum is " + add );
}
return false; // Changed to "false"
}
您还需要调整HTML,以便sum()
中的值实际上返回到onsubmit
处理程序。
<form id="forma" name="formOne" runat="server" onsubmit="return sum();">
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.