[英]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.