我正在试图弄清楚如何通过隐藏字段传递当前页面的URL,以便在处理完表单输入后我可以重定向回该页面。我尝试过使用javascript:location.href,但它看起来好像将它作为文字字符串传递。
<input type="url" id="location" name="location" value="javascript:location.href" hidden />
查看页面源时,我可以看到此输入框的值是“javascript:location.href”而不是页面的URL。这里有什么想法?提前谢谢!
答案 0 :(得分:3)
您可以在Javascript中访问该元素并更改其中的值
document.getElementById('location').value = location.href;
答案 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']; ?>" />