我的页面上有提交:
<input type="submit" name="nextstep" value="Next" id="nextstep" class="newaddressnextstepbutton">
当我点击此提交时,我需要在第一个按钮上进行另一次提交,具体名称如下:
<input type="button" name="selectBillingAddress" value="First one" class="selectbillingaddressbutton" onclick="setLocation('/checkout/selectbillingaddress?addressId=537')">
<input type="button" name="selectBillingAddress" value="Second one" class="selectbillingaddressbutton" onclick="setLocation('/checkout/selectbillingaddress?addressId=647')">
我是这样做的:
$("input[name='nextstep']").click(function() {
$("input[name='selectBillingAddress']")[0].submit();
});
但这不起作用。我收到此错误:Uncaught TypeError: $(...)[0].submit is not a function
我找到了此错误"Submit is not a function" error in JavaScript的答案,但我在此页面上没有input[name='submit']
。
任何人都可以帮助我吗?
答案 0 :(得分:1)
.submit()
仅适用于form
元素。
相反,您需要在第一个匹配的DOM元素上触发本机点击事件:
e.g。
$("#nextstep").click(function(e) {
e.preventDefault();
$("[name='selectBillingAddress']")[0].click();
});
.click()
来调用本机点击处理程序。答案 1 :(得分:0)
您需要在表单上调用提交功能,而不是按钮。 所以它应该是这样的:
$("input[name='nextstep']").click(function() {
$("form").submit();
});
如果您的网页上有多个表单,请为表单提供一个ID,然后使用该表单。
答案 2 :(得分:0)
抱歉:这是更新的。
$("input[name='nextstep']").click(function() {
$("input[name='selectBillingAddress']").eq(0).trigger("click");
});
答案 3 :(得分:-1)
尝试调用按钮的自然点击,
$("input[name='nextstep']").click(function() {
$("input[name='selectBillingAddress']")[0].click();
});
或者只是抓住最近的表单并在其上调用.submit()
。由于表单以外的元素不具有提交功能作为其成员。