Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.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 - Fatal编程技术网

我的表单验证Javascript代码赢了';行不通

我的表单验证Javascript代码赢了';行不通,javascript,Javascript,我创建了简单的表单验证,但没有任何效果。下面是我的表单和javascript代码。我是从课本上取的。我有一个提交按钮。当我点击它时,什么也没发生。我正在使用一个外部的.js文件,并且在页面上包含了该部分的链接。我非常感谢你的意见 <form name="reservation" onsubmit="return validate(this);"> <fieldset> <legend>Reservation</legend> <br/>

我创建了简单的表单验证,但没有任何效果。下面是我的表单和javascript代码。我是从课本上取的。我有一个提交按钮。当我点击它时,什么也没发生。我正在使用一个外部的.js文件,并且在页面上包含了该部分的链接。我非常感谢你的意见

<form name="reservation" onsubmit="return validate(this);">
<fieldset>
<legend>Reservation</legend>
<br/>
<label>Name*</label>
<br/>
<input type="text" name="txtName" id="txtName" size="60">
<br/><br/>
<label>Date and Time*</label>
<br/>
<input type="text" id="txtDate" name="txtDate" size="40"><a href="javascript:NewCal('txtDate','mmmddyyyy',true,12)"><img src="../Images/cal.gif" width="18" height="18" border="0" alt="Pick a date"></a>
<br/><br/>
<label>Party Size*</label>
<br/>
<input type="text" id="txtParty" name="txtParty" size="20">
<br/><br/>
<label>Phone*</label>
<br/>
<input type="text" id="txtPhone" name="txtPhone" size="40">
<br/><br/>
<label>Email*</label>
<br/>
<input type="text" id="txtEmail" name="txtEmail" size="60">
<br/><br/>
<input type="submit" id="button" value="Submit"/>
<p id="main_text">
*=required
</p>
</fieldset>
</form>

我认为你应该考虑使用
jQuery
它更有效、更容易使用!您还应该研究如何使用
else if()
语句

var name = $('#txtName').val(); 
var email = $('#txtEmail').val();
    if(name == ""){ alert("Please fill in the name field"); 
        $('#txtName').focus(); 
        return false;
     }
     else if(email == ""){ alert("Please fill in the email field");
     $('#txtName').focus(); 
     return false;
     }else{ 
      alert("All good");
      return true;
    }

您的代码运行良好。这里唯一相关的是最后一条警报消息
警报(“感谢您提供信息。\n我们会尽快回复您。”)应该只在一行中(可能是由于复制/粘贴而引入的),您知道为什么它对我不起作用吗?我将字段留空,但没有弹出警告框。什么也没有发生。浏览器控制台中是否有错误(按F12键查看)?另外,您能否确认我提到的上一个警报是否仅在一行中?是的,我已将代码更正为在一行中。我在谷歌Chrome上也试过了,但什么都没发生。它对您有用吗?顺便说一句,浏览器控制台没有显示错误。提前终止总是好的,但您不需要jQuery来完成所有事情。特别是对于这么简单的事情。
var name = $('#txtName').val(); 
var email = $('#txtEmail').val();
    if(name == ""){ alert("Please fill in the name field"); 
        $('#txtName').focus(); 
        return false;
     }
     else if(email == ""){ alert("Please fill in the email field");
     $('#txtName').focus(); 
     return false;
     }else{ 
      alert("All good");
      return true;
    }