javascript - 使用 .blur() 通过 ajax 发送不同的对象

标签 javascript jquery ajax

我正在尝试执行 .blur(),根据哪个标签失去焦点来更改参数。但是,我希望能够在 ajax 请求中发送不同的对象,具体取决于哪个 id 失去焦点。作为 jquery 和 javascript 的新手,我不知道如何做到这一点。我可以构建 2 个相同但发送不同对象的函数,但我更喜欢构建一个。

代码:

   function ajaxRequest(event, endpoint, payload, request) {
        event.preventDefault();
        $.ajax({
            url: endpoint,
            type: request,
            data: payload,
            success: function() {
                console.log("test")
            }
        });
    }

    //pseudo code
    $("#signup-email, #signup-username").blur(function(event) {
        if (id == "signup-email") {
           var payload = {"test1": 1};
        } else if (id == "signup-username") {
           var payload = {"test2": 0}
        }
        ajaxRequest(event, "auth/check_availability/", payload,"GET");
    });

HTML:

<tr><th></th><td><input id="signup-username" maxlength="50" name="username" placeholder="Username" type="text" /></td></tr>
<tr><th></th><td><input id="signup-email" maxlength="50" name="email" placeholder="Email" type="email" /></td></tr>

最佳答案

您从未设置id。使用 this.id 获取他们点击的元素的 ID。

$("#signup-email, #signup-username").blur(function(event) {
    if (this.id = "signup-email") {
       var payload = {"test1": 1};
    } else if (this.id = "signup-username") {
       payload = {"test2": 0}
    }
    ajaxRequest(event, "auth/check_availability/", payload,"GET");
});

关于javascript - 使用 .blur() 通过 ajax 发送不同的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30044709/

相关文章:

javascript - 计算通过 Canvas 高度的 float 对象

jquery - 使用jquery选择4个项目

jquery - Yii2 Ajax .post 从 View 的 dropdownList 到 Controller 以及接收数据时的一些操作

javascript - JQuery 手机。网站上只有一个 https 页面

jquery - Facebook 通知如何运作?

javascript - 提交无按钮表单时如何触发函数

javascript - 如何只查找父页面上的对象但排除iframe下的对象

javascript - 使用 HTML 页面上的后退按钮根据用户点击显示/隐藏 div

jquery - .addclass() 函数在 jquery 中不起作用

javascript - 全屏 BG,在初始登陆屏幕上滚动的 div