Javascript 无法正确提交表单
我是JavaScript新手,希望自己学习它。我有一个问题,我的警报框没有出现在Verify()方法的第二个方法中。是我做错了什么还是其他什么!请先帮我谢谢!我的代码:Javascript 无法正确提交表单,javascript,html,if-statement,Javascript,Html,If Statement,我是JavaScript新手,希望自己学习它。我有一个问题,我的警报框没有出现在Verify()方法的第二个方法中。是我做错了什么还是其他什么!请先帮我谢谢!我的代码: <html> <head> <script> function Verify(){ if(!isValidName()){ return false;
<html>
<head>
<script>
function Verify(){
if(!isValidName()){
return false;
}
if(!isValidID()){
return false;
}
}
function isValidName(){
var fnam=document.getElementById('fname').value;
var lnam=document.getElementById('lname').value;
var fcn=fnam.charAt(0);
var lcn=lnam.charAt(0);
if(fnam==""||fnam=="First Name"){
alert("Please Enter First Name!");
return false;
}
else if(lnam==""||lnam=="Last Name"){
alert("Please Enter Last Name!");
return false;
}
else if(fcn!=fcn.toUpperCase()){
alert("Please Use Uppercase for the First Letter in the First Name!");
return false;
}
else if(lcn!=lcn.toUpperCase()){
alert("Please Use Uppercase for the First Letter in the Last Name!");
return false
}
else{
var fc=0;
for(i=0; i<fnam.length; i++){
fc+=1;
if(fnam.charAt(i)>=0||fnam.charAt(i)<=9){
alert("Your First Name Contains an Integer! at index="+fc);
return false;
break;
}
}
var lc=0;
for(j=0; j<lnam.length; j++){
lc+=1;
if(lnam.charAt(j)>=0||lnam.charAt(j)<=9){
alert("Your Last Name Contains an Integer! at index="+lc);
return false;
break;
}
}
}
}
function isValidID(){
var g=document.getElementById('aaa').value;
if(g=="abc"){
alert("SOMETHING WRONG!");
return false;
}
}
function clearLastName(){
document.getElementById('lname').value="";
}
function clearFirstName(){
document.getElementById('fname').value="";
}
</script>
<title>
This is NIC Form Example
</title>
</head>
<body>
<h1>
This is NIC Form Example!
</h1>
<form name="nicform" onsubmit="return Verify()">
<table border="1">
<tr>
<td>
First Name:
</td>
<td>
<input type="text" id="fname" value="First Name" onClick="clearFirstName()">
</td>
</tr>
<tr>
<td>
Last Name:
</td>
<td>
<input type="text" id="lname" value="Last Name" onClick="clearLastName()">
</td>
</tr>
<tr>
<td>
Gender:
</td>
<td rowspan="2">
Male: <input type="radio" id="male" name="rad">
<br/>
Female: <input type="radio" id="female" name="rad">
</td>
</tr>
<tr>
</tr>
<tr>
<td>
<input type="text" id="aaa" value="abc" >
</td>
<td align="center" colspan="2">
<button type="submit">GO</button>
</td>
</tr>
</table>
</form>
</body>
</html>
函数验证(){
如果(!isValidName()){
返回false;
}
如果(!isValidID()){
返回false;
}
}
函数isValidName(){
var fnam=document.getElementById('fname')。值;
var lnam=document.getElementById('lname').value;
var fcn=fnam.charAt(0);
var lcn=最小字符数(0);
如果(fnam==”|| fnam==“名字”){
警告(“请输入名字!”);
返回false;
}
else if(lnam==“”| | lnam==“姓氏”){
警告(“请输入姓氏!”);
返回false;
}
else if(fcn!=fcn.toUpperCase()){
警告(“请使用大写字母作为名字中的第一个字母!”);
返回false;
}
else if(lcn!=lcn.toUpperCase()){
警告(“请使用大写字母作为姓氏的第一个字母!”);
返回错误
}
否则{
var fc=0;
for(i=0;i=0 | | | fnam.charAt(i)函数Verify()
如果表单有效,则应返回true
function Verify(){
if(!isValidName()){
return false;
}
if(!isValidID()){
return false;
}
return true;
}
我认为永远不要调用第二个方法,因为如果每件事都是正确的,那么这两个函数中都缺少“returntrue”。
因此,如果你补充说,这将解决你的问题
若函数1执行正确,那个么它必须返回true
function Verify() {
if (!isValidName()) {
return false;
}
if (!isValidID()) {
return false;
}
}
function isValidName() {
var fnam = document.getElementById('fname').value;
var lnam = document.getElementById('lname').value;
var fcn = fnam.charAt(0);
var lcn = lnam.charAt(0);
if (fnam == "" || fnam == "First Name") {
alert("Please Enter First Name!");
return false;
}
else if (lnam == "" || lnam == "Last Name") {
alert("Please Enter Last Name!");
return false;
}
else if (fcn != fcn.toUpperCase()) {
alert("Please Use Uppercase for the First Letter in the First Name!");
return false;
}
else if (lcn != lcn.toUpperCase()) {
alert("Please Use Uppercase for the First Letter in the Last Name!");
return false
}
else {
var fc = 0;
for (i = 0; i < fnam.length; i++) {
fc += 1;
if (fnam.charAt(i) >= 0 || fnam.charAt(i) <= 9) {
alert("Your First Name Contains an Integer! at index=" + fc);
return false;
break;
}
}
var lc = 0;
for (j = 0; j < lnam.length; j++) {
lc += 1;
if (lnam.charAt(j) >= 0 || lnam.charAt(j) <= 9) {
alert("Your Last Name Contains an Integer! at index=" + lc);
return false;
break;
}
}
}
return true;
}
function isValidID() {
var g = document.getElementById('aaa').value;
if (g == "abc") {
alert("SOMETHING WRONG!");
return false;
}
return true;
}
function clearLastName() {
document.getElementById('lname').value = "";
}
function clearFirstName() {
document.getElementById('fname').value = "";
}
函数验证(){
如果(!isValidName()){
返回false;
}
如果(!isValidID()){
返回false;
}
}
函数isValidName(){
var fnam=document.getElementById('fname')。值;
var lnam=document.getElementById('lname').value;
var fcn=fnam.charAt(0);
var lcn=最小字符数(0);
如果(fnam==”|| fnam==“名字”){
警告(“请输入名字!”);
返回false;
}
else if(lnam==“”| | lnam==“姓氏”){
警告(“请输入姓氏!”);
返回false;
}
else if(fcn!=fcn.toUpperCase()){
警告(“请使用大写字母作为名字中的第一个字母!”);
返回false;
}
else if(lcn!=lcn.toUpperCase()){
警告(“请使用大写字母作为姓氏的第一个字母!”);
返回错误
}
否则{
var fc=0;
对于(i=0;i 如果(fnam.charAt(i)>=0 | | fnam.charAt(i)=0 | | lnam.charAt(j)您确定调用了isValidID()
吗?您正在执行一个返回false
如果isValidName()
返回false…那么它可能永远不会到达那里?(使用开发工具-F12-和isValidID()
开头的断点查看)如果字段“aaa”包含“abc”,则提示框必须显示它总是发生在我身上我不知道我一直在做错什么可能是我一直在犯错误,但无法识别自己的错误!你当前的错误是我问了你一个简单的问题,而你没有回答。你确定isValidID()
正在被调用?可能不是因为我知道在isValidName之后没有任何东西一直被调用:(所以我对java脚本是新手,我正在学习新东西,感谢您的帮助并找出我的错误!