Javascript 分析错误。丢失的在声明之前。也怀疑onchange

Javascript 分析错误。丢失的在声明之前。也怀疑onchange,javascript,jquery,onchange,parse-error,Javascript,Jquery,Onchange,Parse Error,我想比较jQuery中的两个字符串,如果它们相同,我会在网页中显示submit按钮(如果不是错误消息): (function(){ var tw = window.tw, ns = tw.resetpassword = {}, lib = tw.lib, _ = tw.util; ns.init = function(){ $('#password1').checkPassword(){ var password1 = $('#passwo

我想比较jQuery中的两个字符串,如果它们相同,我会在网页中显示submit按钮(如果不是错误消息):

 (function(){
  var tw = window.tw,
    ns = tw.resetpassword = {},
    lib = tw.lib,
    _ = tw.util;

  ns.init = function(){
    $('#password1').checkPassword(){
      var password1 = $('#password1').val()
      console.log(password1);
      var password2 = $('#password2').val()
      console.log(password2);

      if(password1==password2){
        $("#reset-password").removeAttr("style");
        console.log('yes!');
      }else{
        $("#alert-error").removeAttr("style");
      }
    }
    $('#password2').checkPassword(){
      var password1 = $('#password1').val()
      console.log(password1);
      var password2 = $('#password2').val()
      console.log(password2);

      if(password1==password2){
        $("#reset-password").removeAttr("style");
      }else{
        $("#alert-error").removeAttr("style");
      }
    }
  )};
})();
HMTL:

我得到这个错误:

分析错误。丢失的声明前

在这一行

$'password1'。检查密码{


我不知道我用onchange是否也做对了,有什么想法吗?谢谢!

那是无效的javascipt语法

$('#password1').checkPassword(){
  ...
}
它看起来像是调用method.checkPassword和定义新函数的组合

查看您的html,无论何时密码字段中的文本发生更改,您都试图调用此函数checkPassword:

<input class="form-text" id="password1" ...  onchange="checkPassword()" ...>
注意:无需重复代码两次,上面的代码将相同的行为附加到password1和password2

现在还可以从html中删除该属性:

<input class="form-text" id="password1" name="password.password1" 
        type="password" maxlength="128" size="60" 
        placeholder="@Messages("securesocial.passwordChange.newPassword1")">
表示在输入字段上发生onchange事件时调用无参数的函数checkPassword


JavaScript中没有定义checkPassword函数,您可能忘了在此处发布它,或者您想调用ns.init。

$password1.checkPassword{在Javascript中根本无效。这应该是什么?函数分配?带参数的调用?checkPassword方法是什么?onchange=checkPassword,我在这里看到:@Anna-该链接中没有指定使用html onchange属性。他们根据我更新的答案,使用jQuery附加事件处理程序!
 ns.init = function(){
    $('#password1, #password2').on('change',function(){
      var password1 = $('#password1').val()
      console.log(password1);
      var password2 = $('#password2').val()
      console.log(password2);

      if(password1==password2){
        $("#reset-password").removeAttr("style");
      }else{
        $("#alert-error").removeAttr("style");
      }
    });
 }
<input class="form-text" id="password1" name="password.password1" 
        type="password" maxlength="128" size="60" 
        placeholder="@Messages("securesocial.passwordChange.newPassword1")">
onchange="checkPassword()"