Javascript:取消提交

javascript: cancel submit

本文关键字:提交 取消 Javascript      更新时间:2023-09-26

我需要阻止提交按钮提交表单…我用return false来做它,它工作得很好,直到我引入charAt()来返回第一个字符。完成后,提交按钮开始再次提交表单。下面是代码:

<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>

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; 

您可以通过将c包装到String函数中,将数字0转换为字符串"0":

来验证您在字符串上调用charAt
var d = String(c).charAt(0);

还有一件事:这是</script>,不是<'script>