ajax - jQuery监控AJAX查询创建的表单字段

标签 ajax jquery

前言:我确信这非常简单,但我已经搜索了这个网站和 jQuery 网站,但无法找到正确的搜索词来获得答案 - 请原谅我的无知!

我使用 jQuery 的 ajax 函数添加额外的表单字段,然后需要将额外的 ajax 函数应用于这些字段,但似乎无法让 jQuery 动态监控这些表单字段。

如何让 jQuery 使用这些新字段?

$(document).ready(function() {
   $('#formField').hide();
   $('.lnk').click(function() {
      var t = this.id;
      $('#formField').show(400);
      $('#form').load('loader.php?val=' + t);
   });

      //This works fine if the field is already present
      var name  = $('#name');
      var email = $('#email');
      $('#uid').keyup(function () {
         var t = this; 
         if (this.value != this.lastValue) {
            if (this.timer) clearTimeout(this.timer);             
            this.timer = setTimeout(function () {
               $.ajax({
                  url: 'loader.php',
                  data: 'action=getUser&uid=' + t.value,         
                  type: 'get',
                  success: function (j) {
                     va = j.split("|");
                     displayname  = va[1];
                     mail         = va[2];
                     name.val(displayname);
                     email.val(mail);
                  }
               });
            }, 200);  
            this.lastValue = this.value;
         }
      });
}); 

因此,如果 存在于基本 html 页面中,则该函数可以工作,但如果它通过 $.load 函数到达,则不会 - 可能是因为 $(document).ready 已经启动。

我确实尝试过:

$(document).ready(function() {
   $('#formField').hide();
   $('.lnk').click(function() {
      var t = this.id;
      $('#formField').show(400);
      $('#form').load('loader.php?val=' + t);
      prepUid();
   });
});

function prepUid(){
      var name  = $('#name');
      var email = $('#email');
     $('#uid').keyup(function () {
snip...........

但是好像没用...

最佳答案

我认为你很接近。 .load 调用完成后,您需要添加 keyup 处理程序。尝试改变这个...

  $('#form').load('loader.php?val=' + t);
  prepUid();

对此...

  $('#form').load('loader.php?val=' + t, null, prepUid);

关于ajax - jQuery监控AJAX查询创建的表单字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2679567/

相关文章:

javascript - 将使用 JavaScript 和 AJAX 的 HTML 表单的输入传递给 PHP POST 方法

javascript - 使用 multer 接收 FormData 对象作为 node.js 服务器

javascript - 向下滚动到部分时突出显示菜单项

javascript - Backbone.js 默认路径(子域)

php - 使用 PHP 和 AJAX 对查询结果进行分页

javascript - 当元素处于 View 中且未滚动过去时,如何使 jQuery 航点插件触发?

javascript - jquery 检查多个输入的值

javascript - 根据浏览器宽度更改 css 值

javascript - Chrome 开发工具关闭时 Web 应用程序无法运行

javascript - 从 HTTPS 页面强制 AJAX 调用为 HTTPS