onsubmit验证密码无效

时间:2018-02-08 10:59:43

标签: jquery html forms razor asp.net-mvc-5

好的,所以让我们先解决其他几个问题,看看他们是否可以帮助我,所以请不要因为可能重复而烦恼我,除非你是一个问题。 100%确定副本可以帮助我,谢谢。

<小时/> 我有一个表单,其中包含2个密码输入字段和一个提交按钮(以及更多)。我正在尝试触发validate()函数onsubmit,但由于某种原因,该脚本无效。我错过了什么或忽略了什么?

validate()函数应该只检查两个密码字段是否都是相同的值,如果是这样的话:提交表单,如果不是:不要提交并alert("passwords do not match");

@using (Html.BeginForm()){   //begin formulier

@Html.AntiForgeryToken()

<div class="form-horizontal">
    <h2 style="margin:3% 0 0 0;">Nieuwe medewerker Registreren</h2>

    <div style="float:right; margin:-3% 0 0 0;">
        @Html.ActionLink("Back to List", "Index")
        <input type="submit" value="Create" class="btn btn-default createBtn" onsubmit="return validate();" />
    </div>
    <hr />

    @Html.ValidationSummary(true, "", new { @class = "text-danger" })
    <div class="col-md-6">
        <h4>Persoonlijke gegevens</h4><!--Begin Persoonlijke gegevens-->

        <div class="form-group">
            <p class="control-label col-md-5"><i class="fa fa-exclamation-triangle triangle" aria-hidden="true"></i> <b>wachtwoord</b></p>
            <div class="col-md-4">
                <input type="password" id="passphrase" class="form-control" required="required" />
            </div>
        </div>

        <div class="form-group">
            <p class="control-label col-md-5"><i class="fa fa-exclamation-triangle triangle" aria-hidden="true"></i> <b>wachtwoord</b></p>
            <div class="col-md-4">
                @Html.EditorFor(model => model.wachtwoord, new { htmlAttributes = new { id = "passphraseConf", @class = "form-control", required = "required", type = "password" } })
                @Html.ValidationMessageFor(model => model.wachtwoord, "", new { @class = "text-danger" })
            </div>
        </div>
   </div>
</div>
} <!--Einde formulier-->

如果您希望查看完整页面,我会删除不必要的输入以保持简短; click here注意:我在asp.net中使用数据库工作,所以如果你运行jsfiddle,页面看起来会很奇怪。

我已经尝试了几个jquery脚本,但这两个对我来说最有意义的是它们应该工作;

1:

function validate() {
        alert("validating");
        var password = $("#passphrase").val();
        var confirmPassword = $("#passphraseConf").val();
        return (password === confirmPassword) 
    }

2:

function validate() {
        alert("validating");
        var password = $("#passphrase").val();
        var confirmPassword = $("#passphraseConf").val();
        if (password === confirmPassword) {
            return (true);
            alert("passwords valid");
        } else {
            return (false);
            alert('De wachtwoord velden komen niet overeen.');
        }
    }

但是当我按下提交按钮时,脚本都不起作用。警报甚至无法解雇,我也不明白为什么。

<小时/> 其他信息:

jQuery版本:3.3.1

<小时/> 提前致谢。

1 个答案:

答案 0 :(得分:0)

您可以使用onclick for button

,而不是使用onsubmit

function myFunction() {
    alert("The form was submitted");
}
<form action="/action_page.php">
  Enter name: <input type="text" name="fname">
  <input type="submit" onclick="myFunction()" value="Submit">
</form>