我要做的是获得与点击以下提交按钮相同的结果。
<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' 我该如何解决这个问题?
答案 0 :(得分:2)
你唯一的错误是使用函数document.getElementsByName
,因为它返回一个元素数组(由复数表示)。你需要的是一个元素。
使用以下方法访问数组的第一个元素:
document.getElementsByName('submit_http:')[0]
或使用已推荐且更精确的功能:
document.getElementById('submit_http:')
答案 1 :(得分:1)
document.getElementsByName('submit_http:')
将返回具有该名称的元素数组。如果您想要提交提交按钮,则需要使用document.getElementsByName('submit_http:')[0]
。
答案 2 :(得分:1)
虽然Anthony Grist是正确的,但在您的情况下,由于您的输入已经有id
,因此您可以执行document.getElementById('submit_http:')
(返回单个元素)。
答案 3 :(得分:0)
一般来说,我们使用“自”变量。在提交之前,请执行以下操作:
var self = this;
然后在回调中使用“self”