Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.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
对话框按钮的jQuery单击事件未触发_Jquery - Fatal编程技术网

对话框按钮的jQuery单击事件未触发

对话框按钮的jQuery单击事件未触发,jquery,Jquery,我的登录表单如下所示 <a href="#" id="loginLink">click Here to Log in</a> <div class="formDiv" id="formDiv"> <form name="loginForm" id="loginForm" action="#"> <label>Email</label><input type="text" name="email" id="ema

我的登录表单如下所示

<a href="#" id="loginLink">click Here to Log in</a>
<div class="formDiv" id="formDiv">
<form name="loginForm" id="loginForm" action="#">
    <label>Email</label><input type="text" name="email" id="email"><br/>
    <label>Passw</label><input type="password" name="pwd" id="pwd"><br/>
    <input type="submit" value="Log in" id="loginbtn" name="loginbtn">
</form>
</div>

电子邮件
Passw

我想使用
Ajax
提交此表单数据,因为当用户单击
#loginbtn
时,我正在做与Ajax相关的事情,但问题是
单击
时,单击
#loginbtn
事件不会触发,如下所示。

因为保存对话框的div是动态添加的,所以不能将单击事件绑定到它。将其绑定到某个父级,该父级是固定的,如
文档


我已经编辑了小提琴,它可以工作了:

因为保存对话框的div是动态添加的,所以不能将click事件绑定到它。将其绑定到某个父级,该父级是固定的,如
文档


我已经编辑了小提琴,它可以工作了:

尝试像这样绑定点击事件:

$(document).on("click","#loginbtn",function(e){
// do stuff
})

尝试像这样绑定click事件:

$(document).on("click","#loginbtn",function(e){
// do stuff
})

也可以在对话框定义中创建按钮,如中所示

 $( "#dialog-form" ).dialog({
  autoOpen: false,
  height: 300,
  width: 350,
  modal: true,
  buttons: {
    "Login": function() {
        alert('test');
        $( this ).dialog( "close" );
      }
    },
    Cancel: function() {
      $( this ).dialog( "close" );
    }
  },
  close: function() {
    allFields.val( "" ).removeClass( "ui-state-error" );
  }
});

也可以在对话框定义中创建按钮,如中所示

 $( "#dialog-form" ).dialog({
  autoOpen: false,
  height: 300,
  width: 350,
  modal: true,
  buttons: {
    "Login": function() {
        alert('test');
        $( this ).dialog( "close" );
      }
    },
    Cancel: function() {
      $( this ).dialog( "close" );
    }
  },
  close: function() {
    allFields.val( "" ).removeClass( "ui-state-error" );
  }
});

它对我有用,但是jQuery验证正在做。你可以看看这个吗。你没有在fiddle中编写
validate()
函数你调用了
validate()
但没有定义它。它对我有用,但是jQuery验证正在做。你可以看看这个吗。你没有编写
validate())
函数,该函数位于您已调用但未定义的Fiddle中。