Javascript 浏览器在';提交';表格已执行
我有一个非常简单的例子:Javascript 浏览器在';提交';表格已执行,javascript,html,Javascript,Html,我有一个非常简单的例子: <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 n
<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>
附加
document.write(“请输入要添加到字段中的值,然后单击添加按钮1”);
函数和()
{
var num1=document.formOne;
value1=数字(num1.input1.value);
var num2=document.formOne;
value2=数字(num2.input2.value);
如果(值1==“”)
{
document.write(“有效值不能为空!”);
}
否则如果(值2==“”)
{
document.write(“有效值不能为空!”);
}
其他的
{
var add=value1+value2;
文件填写(“金额为”+加上);
}
返回true;
}
在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();">
“我做错了什么?”使用
文档。编写。太棒了!!!这解决了Chrome的问题,谢谢。现在,唯一的区别是IE不会重新加载页面(需要使用“back”输入新值),而Chrome重新加载很好。再次感谢。