通过表单中的隐藏输入字段传递当前页面URL

时间:2014-05-09 19:55:00

标签: javascript php html

我正在试图弄清楚如何通过隐藏字段传递当前页面的URL,以便在处理完表单输入后我可以重定向回该页面。我尝试过使用javascript:location.href,但它看起来好像将它作为文字字符串传递。

<input type="url" id="location" name="location" value="javascript:location.href" hidden />

查看页面源时,我可以看到此输入框的值是“javascript:location.href”而不是页面的URL。这里有什么想法?提前谢谢!

4 个答案:

答案 0 :(得分:3)

您可以在Javascript中访问该元素并更改其中的值

document.getElementById('location').value = location.href;

实施例: http://jsfiddle.net/6zxD5/

答案 1 :(得分:0)

我不认为它的运作方式。您可以使用onload回调在页面完全加载时插入它:

<body onload="document.getElementById('location').value = document.location.href">

答案 2 :(得分:0)

如果包含表单的文档已经是PHP文件,则可以执行

 $yourPath = $_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];

在你的HTML中你会做

echo '<input type="url" id="location" name="location" value="'.$yourPath.'" hidden />';

答案 3 :(得分:0)

您可以使用JavaScript设置隐藏字段的值:

document.getElementById('location').value = window.location.href;

示例:

<强> https://jsfiddle.net/moogs/mhjh0je3/

由于您还标记了PHP,因此这里是PHP版本:

<input type="hidden" id="location" name="location" value="<?php echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; ?>" />