【问题标题】:onsubmit validate password not workingonsubmit 验证密码不起作用
【发布时间】:2018-07-18 22:17:17
【问题描述】:

好的,所以让我们把它排除在我已经引用过其他几个问题的地方,看看它们是否可以帮助我,所以请不要因为可能的重复而打扰我,除非你 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


提前致谢。

【问题讨论】:

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


【解决方案1】:

您可以使用 onclick 作为按钮,而不是使用 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>

【讨论】:

  • 如果你想使用 onsubmit 那么你应该在表单标签中使用它
  • 哦 ffs...我现在感觉自己像个白痴。谢谢。 x) 当stackoverflow允许我接受你的回答时,我会接受你的回答
  • @FllnAngl,很高兴你注意到了
猜你喜欢
  • 1970-01-01
  • 2016-08-16
  • 2018-06-10
  • 1970-01-01
  • 2015-06-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多