0

我想以相同的形式调用所有三个函数,但只有第一个 showPassword 似乎有效。我错过了什么?提前致谢!

HTML

<form name="form1" action="#">  
Username: <input type='text' name='username'/>
Password: <input type='password' name='password'/> 
<input type="submit" name="submit" onclick="showPassword(); warning(input);isEmpty()"/>
</form>

JavaScript

 function showPassword() {
         alert("Your password is " + document.forms["form1"]["password"].value )
    }
    function warning(input){
    var numbers = /^[0-9]+$/;
        if(input.value.match(numbers))
        {
        alert('Data not recognized');
        }
        else
        {
        alert('OK');
        }
    } 
     function IsEmpty(){
        if(document.forms['form1'].username.value == "" || document.forms['form1'].password.value == "" )
        {
        alert("Data missing");
        return false;
        }
        return true;
    }
4

4 回答 4

0

在第一个函数的主体中调用第二个,第三个函数...

于 2013-06-27T13:36:34.587 回答
0

这是因为第一个功能有警报。所以它会在执行其他功能之前等待用户确认。尝试删除警报。他们应该工作。

于 2013-06-27T13:18:02.957 回答
0

仅调用 1 个 JS 函数(一个新函数)并从该单个脚本调用这三个函数。管理代码会更容易。

warning(input)无效,您不能将引用传递给这样的元素。我什至不确定input在这种情况下应该是什么。您也可以在脚本中选择表单元素(就像在其他函数中所做的那样)。

于 2013-06-27T13:18:42.087 回答
0

打开浏览器的开发者控制台。(在 Firefox 中,工具 → Web 开发人员 → Web 控制台。)它会显示正在发生的错误。我认为是这样的:

ReferenceError: input is not defined

它还将准确显示导致错误的代码行。在这种情况下,这一行:

<input type="submit" name="submit" onclick="showPassword(); warning(input);isEmpty()"/>

这是错误。在您的代码中,它说warning(input);,JavaScript 不知道您的意思input;没有具有该名称的变量。

我也不确定你的意思。你想让warning()函数检查username输入吗?输入password?或者是其他东西?

于 2013-06-27T13:31:46.647 回答