我有一个简单的JavaScript,我似乎无法开始工作。
所以我想要完成的是我的主页上的文本字段,用户可以输入(仅1个字段)。提交它,它会将它们带到另一个页面,其中包含一个文本字段,该字段预先填充了他们在第一个字段中输入的内容。
<script type="text/javascript">
function go_page(page)
{
document.location.href = '/?page_id=11' + '#addressInput=' + addressInput;
}
</script>
当我填写'addressInput'时(对于这个例子,让我们说'90501')..
目前,网址为www.mywebsite.com/?addressInput=90501
目标,我希望它是.. www.mywebsite.com/?page_id=11#addressInput=90501
当我在地址栏中输入时,这个'目标网址'可以正常工作。我只需要根据他们在第一个文本字段中输入的内容,弄清楚如何自动为用户执行该功能。
......任何想法?
编辑1
这是表格代码..
<form method="get" onsubmit=" go_page(this.page.value); return false">
<input type="text" name="addressInput" id="addressInput" size="30" />
<input type="submit" value="" class="submitButton" />
</form>
编辑2
更多信息..
用户将在主页上,在文本字段中键入“地址/邮政编码”,然后单击“提交”。
然后将它们带到位置页面(page_id = 11),该页面具有预先填充了用户在主页上键入的“地址/ zip”的文本字段。
答案 0 :(得分:0)
如果您希望在网址中包含#
,则必须对其进行编码,而不是使用#
使用%23
。 并且不要忘记,为了分隔网址中的值,您必须使用&
。
document.location.href = '/?page_id=11' + '%23addressInput=' + addressInput;
<强>更新强>
而不是document.location.href
使用window.location
答案 1 :(得分:0)
从提供的有限信息中不清楚,但您是否已停止默认表单提交行为?也许是在你的javascript被调用之前提交的表单。捕获表单提交和return:false
或event.preventDefault()
以阻止其继续提交。
答案 2 :(得分:0)
您可以尝试抓住表单中的元素
<form method="get" onsubmit="go_page(this.addressInput); return false">
<input type="text" name="addressInput" id="addressInput" size="30" />
<input type="submit" value="" class="submitButton" />
</form>
并在函数中提取addressInput的值,如下所示
function go_page(elem) {
var addressInput = elem.value;
window.location.href = "/?page_id=11#addressInput"+addressInput;
}
在Wordpress中,应该导航到页面ID并将哈希添加到结尾