javascript - 在不使用单词 'this' 的情况下在 javascript 中获取 'this' 对象

标签 javascript

我想要做的是获得与单击以下提交按钮相同的结果。

<input id="submit_http:" class="add_submit" type="button" onclick="return dex.forms.form_ajax_submit(this,function(res) { alert('posting failed'); },function(res) { alert('posting success'); });" value="Next" name="submit_http:">

我试着这样做:

$('.NextButton').click(function () {
    dex.forms.form_ajax_submit(document.getElementsByName('submit_http:'),
        function(res) { 
            alert('posting failed');
        }, 
        function(res) { 
            alert('posting success'); 
        });
});

但看起来 document.getElementsByName 没有返回相同的结果 作为提交按钮“this” 我该如何解决这个问题?

最佳答案

您犯的唯一实际错误是使用函数 document.getElementsByName,因为它返回一个元素数组(如复数所示)。您需要的是单个元素。

使用以下方法访问数组的第一个元素:

document.getElementsByName('submit_http:')[0]

或者使用已经推荐的更精确的函数:

document.getElementById('submit_http:')

关于javascript - 在不使用单词 'this' 的情况下在 javascript 中获取 'this' 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9499517/

相关文章:

javascript - jQuery 动态元素 - 如何删除元素并保存事件数据?

javascript - 跨子域使用 localStorage

javascript - 如何将 "Ken Burns Effect"添加到 Swiper?

javascript - 从 View 中重新排序 Backbone 集合

javascript - Select2 基本示例不起作用

Javascript switch 语句 - default first OK?

javascript - 如何使用 Jquery 发布/提交表单?

javascript - 使用自定义验证器防止将来的日期和今天的日期

javascript - 如何在 Python 中抓取包含动态内容(由 JavaScript 创建)的页面?

JavaScript 时钟向上计数以包括月份和年份