【发布时间】:2019-10-16 18:00:02
【问题描述】:
我在使用 jquery 时遇到了这种奇怪的行为,我似乎无法修复它。 基本上正在发生的事情是我试图在提交表单之前将表单的操作参数设置为特定的 URL。 当我提交表单时,出于某种原因,我将其设置为的 URL 只是附加到了另一个 URL,我猜这就是之前的 URL。
这是我用来设置动作参数的代码。
//clear action parameter
jQuery("form[name='form1']").attr('action','');
alert(forwardUrl);
//set the action parameter
jQuery("form[name='form1']").attr('action',forwardUrl);
//action parameter output
alert('action parameter attribute: ' + jQuery("form[name='form1']").attr('action'));
//submit form
jQuery("form[name='form1']").submit();
例如使用forwardUrl = "test.php"
两个警报的输出都是test.php。
但是,当我运行代码并提交表单时,它会将值发布到https://www.test.com/test.php。
我意识到附加到发布它的 url 可能是标准行为。如果是这种情况,我该如何发布到恰好是 forwardUrl 的不同 URL?
我也尝试使用 .prop() 而不是 .attr()。
非常感谢您!
【问题讨论】:
-
如果您只提供相对路径,则该值将附加到当前 URL。如果要指定不同的域,则需要提供绝对路径,例如。
https://www.foo.com/test.php -
如果您不想重定向到相对路径,则必须包含完整的 url 而不是文件名。
标签: javascript jquery html forms action