jquery改变表单目标值

use*_*099 2 forms jquery attributes target

我需要使按钮的目标不同于主要提交值。我正在使用jquery,代码如下:

HTML:

<form action="somepage" id="cartform" target="_parent" method="post">
Run Code Online (Sandbox Code Playgroud)

(所以默认操作是父级)

查询:

$("#refresh").click(function(){
    $("#cartform").attr('target', '_self');
});
Run Code Online (Sandbox Code Playgroud)

(“刷新”是表单的额外按钮,用于将表单保留在弹出框中)

Gio*_*ona 5

尝试在提交时添加监听器而不是单击:

$('cartform').on('submit',function(){
   $(this).attr('target', '_self');
});
Run Code Online (Sandbox Code Playgroud)

当然,只有当您总是希望目标在提交表单时更改时才会出现这种情况。否则,请尝试使用您的代码和preventDefault.

$("#refresh").click(function(ev){
    ev.preventDefault();
    $("#cartform").attr('target', '_self').submit();
});
Run Code Online (Sandbox Code Playgroud)

我认为该表格是在更改应用之前提交的target。


编辑

实际上,OP 正在尝试在 iframe 内提交表单。这应该有效:

$("#refresh").click(function(ev){
    ev.preventDefault();
    $("#cartform").attr('target', 'name_of_the_iframe').submit();
});
Run Code Online (Sandbox Code Playgroud)

将提交至:

<iframe name="name_of_the_iframe" ...
Run Code Online (Sandbox Code Playgroud)