JS重定向url改变

JS redirecting url changed

本文关键字:改变 url 重定向 JS      更新时间:2023-09-26

我有一个输入,在提交时重定向到另一个页面,我希望这个页面重定向到另一个使用表单输入:

<form id="composeLink" method="post" name="composeLink" action="{$address}/" >
<input type="hidden" name="username" value="{$fields['username']}" />
<input type="hidden" name="password" value="{$fields['password']}" />
<input type="hidden" name="login" value="1" />
</form>
<script type="text/javascript">
//document.form.action = document.form.action.replace("http","https");
document.getElementById('composeLink').submit();
 </script>

这个表单的动作方法是使用smarty发送的。问题是链接不正确。例如:当前链接是http://test.com,表单操作是http://action.com,重定向页面有链接组合。

LE:动作表单被正确发送

有什么问题吗?

问题是在你的模板引擎上,没有问题,我的意思是在html上。但是你可以写一个javascript来解决这个问题。如果您的操作生成如下(test.com/http://action.com),请编写如下:

<script type="text/javascript">
   var newAction = document.getElementById("composeLink").action.split("http://");
   document.getElementById("composeLink").action = "http://" + newAction[1];
   document.getElementById('composeLink').submit();
</script>

如果你的动作是这样生成的(http://test.com/http://action.com),请这样写:

<script type="text/javascript">
   var newAction = document.getElementById("composeLink").action.split("http://");
   document.getElementById("composeLink").action = "http://" + newAction[2];
   document.getElementById('composeLink').submit();
</script>
不同的是你生成的URL,如果你的URL上有两个"http"(对于分割),你必须使用最后的代码,因为我写