javascript:取消提交

javascript:取消提交,javascript,forms,submit,form-submit,Javascript,Forms,Submit,Form Submit,我需要停止提交按钮提交表单。。。我使用了returnfalse来执行此操作,它工作得非常好,直到我引入charAt()来返回第一个字符。完成后,submit按钮再次开始提交表单。代码如下: <form id="pathfinder" method="post"> <input type="text" id="sum1"> <input type="text" id="sum2"> <input type="text" id="sum3"> <

我需要停止提交按钮提交表单。。。我使用了
returnfalse
来执行此操作,它工作得非常好,直到我引入
charAt()
来返回第一个字符。完成后,submit按钮再次开始提交表单。代码如下:

<form id="pathfinder" method="post">
<input type="text" id="sum1"> 
<input type="text" id="sum2">
<input type="text" id="sum3">
<input type="submit" onclick="return total()" value="Get Total">

<div id="display" style="height: 50px; width: 100%;"></div>

<script>
function total(){
    var a = document.forms["pathfinder"]["sum1"].value || 0;
    var b = document.forms["pathfinder"]["sum2"].value || 0;
    var c = document.forms["pathfinder"]["sum3"].value || 0;
    var d = c.charAt(0)
    //alert(a+b)
    var display=document.getElementById("display")
    display.innerHTML=d;
  return false
}
<\script>

函数总数(){
var a=document.forms[“pathfinder”][“sum1”].value | | 0;
var b=document.forms[“pathfinder”][“sum2”].value | | 0;
var c=document.forms[“pathfinder”][“sum3”].value | | 0;
变量d=c.charAt(0)
//警报(a+b)
var display=document.getElementById(“显示”)
display.innerHTML=d;
返回错误
}

sum3可能为空,因此c为0。0不是字符串,因此在对其调用
charAt
时会引发错误


您可以使用
String(c).charAt(0)
来确保c是一个字符串,或者只使用
'0'
(0作为字符串)作为a、b和c的默认值,而不是
0

,因为脚本抛出错误,它停止工作。您不能对号码调用
charAt
——如果输入为空,然后
c
它默认为
0
,会发生什么情况:

var c = document.forms["pathfinder"]["sum3"].value || 0; 
var d = String(c).charAt(0);
您只需将
c
包装到
string
函数中,将number
0
转换为string
“0”
,即可验证是否对string调用
charAt


还有一件事:它是
,而不是

,谢谢你,妈,它成功了,是的,谢谢你提醒我将侦听器移动到表单的提交处理程序。无需单击按钮即可提交表单。