Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.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 客户端表单验证未发生+;can';不编辑表单元素_Javascript_Html_Css_Forms - Fatal编程技术网

Javascript 客户端表单验证未发生+;can';不编辑表单元素

Javascript 客户端表单验证未发生+;can';不编辑表单元素,javascript,html,css,forms,Javascript,Html,Css,Forms,我无法执行客户端表单验证。这是一张简单的支票。我想确保密码是相同的。这是我正在使用的javascript代码片段 $(document).ready(function(e) { $("#reg-form").submit(function(event)) { let $password = $('#password'); let $confirm = $('#confirmPass'); let $error = $('#confirmError

我无法执行客户端表单验证。这是一张简单的支票。我想确保密码是相同的。这是我正在使用的javascript代码片段

$(document).ready(function(e) {

  $("#reg-form").submit(function(event)) {
    let $password = $('#password');
    let $confirm = $('#confirmPass');
    let $error = $('#confirmError');

    if ($password.val() === $confirm.val()) {
      return true;
    } else {
      $error.text("Passwords don't match");
      event.preventDefault();
    }
  }

})
尽管如此,我不认为问题出在javascript代码中,因为我试图在表单中设置一些项目的样式,但这也不起作用,所以我认为这是一个HTML问题。然而,我无法指出问题所在。这是我的HTML代码

<div class="d-flex justify-content-center">
  <form class="reg-form" id="reg-form" enctype="multipart/form-data" action="register.php" method="post">

    <div class="form-row">

      <div class="col">
        <input type="text" name="firstName" id="firstName" class="form-control" value="" placeholder="First Name*" required>
      </div>
      <div class="col">
        <input type="text" name="lastName" id="lastName" class="form-control" value="" placeholder="Last Name*" required>
      </div>

    </div>

    <div class="form-row my-4">
      <div class="col">
        <input type="email" name="email" id="email" class="form-control" value="" placeholder="Email*" required>
      </div>
    </div>

    <div class="form-row my-4">
      <div class="col">
        <input type="password" name="password" id="password" class="form-control" value="" placeholder="Password*" required>
      </div>
    </div>

    <div class="form-row my-4">
      <div class="col">
        <input type="password" name="confirmPass" id="confirmPass" class="form-control" value="" placeholder="Confirm Password*" required>
        <small id="confirmError" class="text-danger"></small>
      </div>
    </div>

    <div class="form-check form-check-inline">
      <input type="checkbox" name="agreement" class="form-check-input" value="" required>
      <label for="agreement" class="form-check-label font-ubuntu text-black-50"> I agree to the Terms and Conditions*</label>
    </div>

    <div class="submit-btn text-center my-5">
      <button type="submit" class="btn btn-warning rounded-pill text-dark px-5" name="button">Continue</button>
    </div>
  </form>

我发现JavaScript标记存在一些问题,缺少一些右括号,并且在代码中过早声明了右括号;但您的代码本身看起来与JS上的正确标记配合使用,请参见以下内容:

$(文档).ready(函数(){
$(“#注册表格”)。提交(功能(e){
设$password=$(“#password”);
让$confirm=$('confirmPass');
设$error=$('confirmError');
如果($password.val()==$confirm.val()){
console.log(true);
返回真值
}否则{
e、 预防默认值();
$error.text(“密码不匹配”);
}
})
})
#注册表单输入[type=“text”],
#注册表单输入[type=“email”]{
边界半径:未设置;
边界:无;
边框底部:1px实心变量(--颜色边框);
字体系列:var(--font-ubuntu);
字号:18px;
}

我同意这些条款和条件*
继续

您好,谢谢您的回答。当密码验证正在进行时,我遇到了另一个问题。表单提交不再进行。当我按continue时,表单不会重新加载到新页面并保持不变。您好,我刚刚更新了答案。如果验证失败,您可以将
preventDefault()
方法移到else语句中;否则默认行为将持续存在。是的,这实际上是有道理的。我将用这个变化来测试它,但我认为这应该是可行的。谢谢
#reg-form input[type="text"],
#reg-form input[type="email"] {
    border-radius: unset;
    border: none;
    border-bottom: 1px solid var(--color-border);
    font-family: var(--font-ubuntu);
    font-size: 18px;
}