Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法停止表单以空输入提交_Javascript_Html_Forms_Submit - Fatal编程技术网

Javascript 无法停止表单以空输入提交

Javascript 无法停止表单以空输入提交,javascript,html,forms,submit,Javascript,Html,Forms,Submit,当任何输入为空时,我无法阻止表单提交。它没有出错,但也没有停止提交。我在表单提交输入中调用了函数。它在onClick调用下 JS文件 function stopSubmit(){ var inDay = document.getElementById(indate).value; var inType = document.getElementById(intype).value; var inAmount = document.getElementById(inamount).va

当任何输入为空时,我无法阻止表单提交。它没有出错,但也没有停止提交。我在表单提交输入中调用了函数。它在onClick调用下

JS文件

function stopSubmit(){
  var inDay = document.getElementById(indate).value;
  var inType = document.getElementById(intype).value;
  var inAmount = document.getElementById(inamount).value;
  if (inDay == "") {
    alert("Please select a date");
    return false;
  }
  if (inType == "Select One"){
    alert("Please select a frequency");
    return false;
  }
  if (inAmount == ""){
    alert("Please enter an amount");
    return false;
  }
  else {
    alert("Your form was submitted");
  }
}
HTML文件

<td>
          <input type="submit" name="submitincome" value="submit" onclick="stopSubmit()">
        </td>

编辑 使用
required
属性,您甚至不需要任何JavaScript。见演示2。有关功能演示,请参见此

古老的 在每个
之前返回false
添加
e.preventDefault()

演示(由于SO安全措施而无法运行)
功能停止提交(e){
var inDay=document.getElementById(indate).value;
var inType=document.getElementById(inType).value;
var inAmount=document.getElementById(inAmount).value;
如果(inDay==“”){
警报(“请选择日期”);
e、 预防默认值();
返回false;
}
如果(inType==“选择一个”){
警报(“请选择频率”);
e、 预防默认值();
返回false;
}
如果(inAmount==“”){
提醒(“请输入金额”);
e、 预防默认值();
返回false;
}否则{
警告(“您的表格已提交”);
}
}

编辑 使用
required
属性,您甚至不需要任何JavaScript。见演示2。有关功能演示,请参见此

古老的 在每个
之前返回false
添加
e.preventDefault()

演示(由于SO安全措施而无法运行)
功能停止提交(e){
var inDay=document.getElementById(indate).value;
var inType=document.getElementById(inType).value;
var inAmount=document.getElementById(inAmount).value;
如果(inDay==“”){
警报(“请选择日期”);
e、 预防默认值();
返回false;
}
如果(inType==“选择一个”){
警报(“请选择频率”);
e、 预防默认值();
返回false;
}
如果(inAmount==“”){
提醒(“请输入金额”);
e、 预防默认值();
返回false;
}否则{
警告(“您的表格已提交”);
}
}

我能够看到您在哪里犯了错误,
document.getElementById()
接受字符串作为参数,但您恰好传递了一个未定义的变量

function stopSubmit(){
  var inDay = document.getElementById('indate').value;
  var inType = document.getElementById('intype').value;
  var inAmount = document.getElementById('inamount').value;
  if (inDay === "") {
  alert("Please select a date");
  return false;
}
if (inType == "Select One"){
  alert("Please select a frequency");
  return false;
}
if (inAmount === ""){
  alert("Please enter an amount");
  return false;
}
else {
  alert("Your form was submitted");
}
}

我能够看到您在哪里犯了错误,
document.getElementById()
接受字符串作为参数,但您恰好传递了一个未定义的变量

function stopSubmit(){
  var inDay = document.getElementById('indate').value;
  var inType = document.getElementById('intype').value;
  var inAmount = document.getElementById('inamount').value;
  if (inDay === "") {
  alert("Please select a date");
  return false;
}
if (inType == "Select One"){
  alert("Please select a frequency");
  return false;
}
if (inAmount === ""){
  alert("Please enter an amount");
  return false;
}
else {
  alert("Your form was submitted");
}
}


return false
add
e.preventDefault()
之前,还要传递事件对象:
stopSubmit(e)
我会将它作为该函数中的第一条语句。通常我也会这样做,但是
else
需要在函数末尾提交,感谢所有的响应。我没有提到我的else甚至不工作。我试着添加你提到的内容,但似乎没有任何效果。似乎该函数甚至没有被调用。即使没有e.preventDefault()和stopSubmit(e),也不应该阻止else创建警报,对吗?@micogg请参阅编辑后的答案,以免自己感到头痛。在
返回false之前
添加
e.preventDefault()
还传递事件对象:
stopSubmit(e)
我会把它作为该函数的第一条语句。通常我也会这样做,但是
否则
需要在函数结束时提交感谢所有的回复。我没有提到我的else甚至不工作。我试着添加你提到的内容,但似乎没有任何效果。似乎该函数甚至没有被调用。即使没有e.preventDefault()和stopSubmit(e),也不应该阻止else创建警报,对吗?@micogg请参阅编辑后的答案,以免自己头疼。感谢您的回复。我尝试添加默认值,但仍然没有效果。我没有说“else”甚至没有创建一个通知,说明表单已提交。从您看到的代码(包括preventdefault)来看,问题是否可能出现在我的代码中与我粘贴的代码不同的部分?不客气。提交按钮是在表单元素内还是有表单属性与表单关联?@micogg如果使用
required
属性,则不必使用JavaScript。请参阅编辑和演示2抱歉,我认为这样会粘贴得更好。。提交按钮在表单元素中,我相信。感谢您的回复。我尝试添加默认值,但仍然没有效果。我没有说“else”甚至没有创建一个通知,说明表单已提交。从您看到的代码(包括preventdefault)来看,问题是否可能出现在我的代码中与我粘贴的代码不同的部分?不客气。提交按钮是在表单元素内还是有表单属性与表单关联?@micogg如果使用
required
属性,则不必使用JavaScript。请参阅编辑和演示2抱歉,我认为这样会粘贴得更好。。我相信提交按钮在表单元素的内部。